Array and Function

构造函数相关

基本类型的数据(number string boolean)的构造函数:

  • Number(a) String(a) Boolean(a) 返回一个转换后的基本类型的数据。
  • new Number(a) new nString(a) new Boolean(a) 返回一个对象。
    复杂类型的构造函数:
  • let a = Array(1) === let a = new Array(1)
  • let o = Object(1) === let o = new Object(1)
    函数的构造函数:
  • var f = new Function('a', 'b', 'return a + b') === var f = Function('a', 'b', 'return a + b')最后一个参数为函数体。
    1
    2
    3
    var f = function(a,b) {
    return a + b
    }
1
var f = new Function('a', 'b', 'return a + b')
上边两种创建函数的方法结果相等。

Array

  1. 不一致性,当 Array 只有一个参数时,表示的是创建的数组的长度。

    1
    2
    3
    let a = Array(3)
    a.length //3
    a //[empty * 3] length: 3
    1
    2
    3
    let a = Array(3,3)
    a.length //2
    a //[3,3] length: 2
  2. 伪数组:原型链中没有Array.prototype 属性。

  3. a.forEach( function(x,y){
    } ):参数接受一个函数,函数接受两个(三个)参数。