1.Arguments对象:
在函数体内,arguments对象是指向实参对象的引用。实参对象类似数组对象,因为可以使用方括号语法语法访问它的每一元素(即第一个元素是arguments[0],以此类推),使用length属性来确定传递进来多少个参数。
function test(){
alert(arguments[0] + arguments[1]);
}
test(10,20);
怎么把arguments转换成真实数组?
1.Array.prototype.slice.apply方法:
- Array 对象用于在变量中存储多个值;
- prototype 属性使您有能力向对象添加属性和方法;
- slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分;
- 通过 apply() 方法,您能够编写用于不同对象的方法。
2.遍历
2.什么是闭包:
闭包:就是能够读取其他函数内部变量的函数。通俗的讲:就是函数a的内部函数b,被函数a外部的一个变量引用的时候,就创建了一个闭包。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。var msg="Hello World";
function say(){
alert(msg);
}
say();
3.什么是原型、原型链?
原型:
JavaScriptd的每个对象都继承另一个对象,后者称为“原型(prototype)”对象。只有null除外,它没有自己的原型对象。
原型对象上的所有属性和方法,都能被派生对象共享。如果实例对象自身就有某个属性和方法,它就不会再去原型对象寻找这个属性和方法。原型链:
原型本身也是对象,又有自己的原型,所有形成了一条原型链(prototype chain)。比如,a对象是b对象的原型,b对象是c对象的原型,以此类推。
“原型链”的作用是:读取对象的某个属性时,JavaScript引擎先寻找对象本身的属性,如果找不到,就到它的原型去找,如果还是找不到,就到原型的原型去找。如果直到最顶层的Object.prototype到null还没有找到,则返回undefined。