函数属性和方法

时间:2021-11-13 19:13:17

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