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()方法;