1.Arguments对象:

在函数体内,arguments对象是指向实参对象的引用。实参对象类似数组对象,因为可以使用方括号语法语法访问它的每一元素(即第一个元素是arguments[0],以此类推),使用length属性来确定传递进来多少个参数。

  1. function test(){
  2. alert(arguments[0] + arguments[1]);
  3. }
  4. test(10,20);

怎么把arguments转换成真实数组?

1.Array.prototype.slice.apply方法:

  • Array 对象用于在变量中存储多个值;
  • prototype 属性使您有能力向对象添加属性和方法;
  • slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分;
  • 通过 apply() 方法,您能够编写用于不同对象的方法。
    2.遍历

    2.什么是闭包:

    闭包:就是能够读取其他函数内部变量的函数。通俗的讲:就是函数a的内部函数b,被函数a外部的一个变量引用的时候,就创建了一个闭包。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。
    1. var msg="Hello World";
    2. function say(){
    3. alert(msg);
    4. }
    5. say();

    3.什么是原型、原型链?

    原型:

    JavaScriptd的每个对象都继承另一个对象,后者称为“原型(prototype)”对象。只有null除外,它没有自己的原型对象。
    原型对象上的所有属性和方法,都能被派生对象共享。如果实例对象自身就有某个属性和方法,它就不会再去原型对象寻找这个属性和方法。

    原型链:

    原型本身也是对象,又有自己的原型,所有形成了一条原型链(prototype chain)。比如,a对象是b对象的原型,b对象是c对象的原型,以此类推。
    “原型链”的作用是:读取对象的某个属性时,JavaScript引擎先寻找对象本身的属性,如果找不到,就到它的原型去找,如果还是找不到,就到原型的原型去找。如果直到最顶层的Object.prototype到null还没有找到,则返回undefined。