最近在重新看《javascript权威指南》这本书,每天都看一点,希望能赶在毕业前再夯实一下自己的基础。我觉得自己在从去年10月份开始虽然做了几个小项目,但是对于基础性的东西还是没能彻底掌握,因此在更近一步学习一些模块开发、模式之前,把基础弄弄好,这样对自己应该是很有利的。反正也拿不出什么很好的东西给大家,就是写一下自己还不熟悉的基础或者技巧性的东西,一点一点罗列出来。
1. 把一个对象的所有属性都拿出来放到一个数组中,以备接下来的使用,这是一种比较常见的做法,一般性的做法是这样:
var obj = { "a":1, "b":2, "c":3 } var array = []; for(var i in obj){ array.push(i); } console.log(array)//['a','b','c']
很好,这种做法没有问题,我说的是另一种看上去比较稀奇的(至少对于我自己是这样子):
var v = { "a":1, "b":2, "c":3 } var array = []; var i = 0; for(array[i++] in v);//空执行语句,是允许的
console.log(array)//['a','b','c']
这样也可以做,但是跟上一个比,效率方面怎么样不是很清楚。for(var i in object)这个循环每次都会拿出object中的属性赋予给in左边的这个左值,我们就是利用了其赋值这个行为初始化了array这个数组。另外也提醒一下,for(var i in array)这种循环数组每个选项也是允许的。