ECMScript的函数是对象,所以有属性和方法。每个函数包含两个属性,length和prototype。
function sayName(name){
alert(name);
}
function sum(num1, num2){
return num1 + num2;
}
function sayHi(){
alert("hi");
}
alert(sayName.length);//定义了一个参数,所以为1
alert(sum.length);//定义了2个参数,所以为2
alert(sayHi.length);//没有命名参数,所以为0
bind(),创建一个函数的实例,其this值会被绑定到传给bind()函数的值
window.color = "red";
var o = {color:'blue'};
function sayColor(){
alert(this.color);
}
var objectSayColor = sayColor.bind(o);
objectSayColor();//blue
sayColor()函数调用bind(),并且传入对象o;创建objectSayColor函数;objectSayColor的this值等于o;
ie9以下不支持bind()方法;