十五 枚举 遍历
var obj = {
name : '13',
age : 123,
sex : 'male'
}
for ( var prop in obj ) {
console.log ( obj [prop] ) ; // 如果写obj.prop 或者 obj['prop'] 是打印不出来的
//会把prop当成属性,不会把它当成变量来访问 obj.name --> obj[ 'name' ]
}
hasOwnProperty
//系统自带属性的不会打印出来,自己设置的属性可以打印
for ( var prop in obj ) {
if ( obj.hasOwnProperty ( prop ) )
console.log ( obj [prop] ) ;
}
in
判断能不能在对象上调用到属性,对象原型链上的也会访问到
instanceof
A instanceof B // 官方解释 :A 是不是 B 构造函数构造出来的
看 A 对象的原型链上有没有 B 的原型
区分对象和数组的三种方法
1. [].constructor -->Array var obj={}; obj.constructor --> Object
2. [] instanceof Array --> true var obj={}; obj instanceof Array -->false
3. Object.prototype.toString.call ( [] ) // "[object Array]"
Object.prototype.toString.call ( {} ) // "[object Object]"