十五 枚举 遍历

2018-09-19  本文已影响0人  WIN_Inn

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]"

上一篇下一篇

猜你喜欢

热点阅读