当我在看一些博客或者其他文章的时候,以为当时已经记下了,可是后期实际用到的时候发现只是知道有这回事,但具体的用法写法却记不起来,只好回头再找,一遍又一遍...
所以当我看你不知道的js中关于数组的内容是,把之前看过后期却不能确定的一些内容记录下来,我想这就是blog也就是笔记的作用。
关于array的length
arr[0] = '0' //arr.length = 1
arr['name'] = 'alex' //arr.length = 1
arr['7'] = 'this is a value' //arr.length = 8
此时arr[1]和23456等为undefined,但是和arr[1]=undefined这种显式的赋值有所不同。
使用delete可是删除数组元素,但是数组的length属性不会有所变化。
数组也是对象,所以可以arr['name'] = 'alex'
但是这些属性并不计算在length属性内,但是当key可以强制转换为十进制数字的话,他就会被当做数组索引来处理。arr['7'] = 'this is a value'
此时lenght为8。
string
string可以借用array的变更方法通过Array.prototype.map.call(string,function)这种方法,但是不能借用array的非变更方法(比如reserve)。
变更方法就是不改变原数组,而返回新数组,非变更方法直接改变原数组。
number
js中的Number采用双精度浮点型,即64位二进制,参考IEEE745标准实现。