笔者近日看JavaScript权威指南这本良书,结合自己的理解,写出一篇关于原型继承属性遍历的,这算是人生第一篇帖子,希望大牛理解菜鸡的观点。我们都知道对象的遍历顺序一般都是根据对象属性定义的顺序来,按现在的浏览器厂商走向应该不会修改这个顺序。(对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的。可枚举性决定了这个属性能否被for…in查找遍历到,JS的基内置对象的原型属性都不能被枚举,属于不可枚举属性)。下面讲重点吧,遍历对象同样可以遍历继承的属性,包括各种继承方法继承的可枚举属性,如果原型链上有多个对象,那么链上面的每一个原型对象的属性的遍历也是依照特定的顺序,这里的顺序指的是继承的顺序,继承属性按原型对象的定义顺序。
解决方案 »
- 求助:Ext.editorGridPanel.getSelectionModel()
- 推荐一本JavaScript的书,顺便给贴点js的面试题目,谢谢!!!
- 关于eval的一个问题
- 请教JS 子窗访问父窗问题
- 求教,百度地图api转换坐标后怎么通过ajax传递给php?
- 求一个JS截取字符串的方法
- 急 在线等待 JAVASCRIPT & VBSCRIPT问题
- 我对javacript不熟悉,请问可以在javacript中调用javabean的方法吗?分数任你拿
- 求一函数,在线等.......
- 怎样检查用户输入的email地址中是否含@?
- 集合了,装逼了!!! 关于jqprint问题!!
- npm -v报错
var obj = {
'3' : 333,
'2' : 222,
'1' :111,
'b' : 'bbb',
'a' : 'aaa'
}
for(var k in obj){
console.log('obj',k,obj[k])
}
应该是键可以用parseInt解析成整数的,按数值升序顺序,键不能用parseInt解析成整数的,才按定义顺序。