javascript中函数的length和prototype属性

发布时间:2020-09-30编辑:脚本学堂
学习下javascript中函数的length和prototype属性,通过一个例子,为大家介绍这二个属性的用法,有需要的朋友参考下。

javascript中,函数的length属性表示函数希望接受到的命令参数的个数。

例子:
 

复制代码 代码示例:

function sayName(name) {
    alert(name);
}

function sum(num1, num2) {
    return num1 + num2;
}

function sayHi() {
    alert("hi");
}

alert(sayName.length);  //1
alert(sum.length);  //2
alert(sayHi.length);  //0
 

以上代码定义了3个函数,但每个函数接收的命名参数个数不同。
首先,sayName()函数定义了一个参数,因此其length属性的值为1。类似地,sum()函数定义了两个参数,结果其length属性中保存的值为2。而sayHi()没有命名参数,所以其length值为0。
在ECMAScript核心所定义的全部属性中,有个prototype属性。
对于ECMAScript中的引用类型而言,prototype是保存它们所有实例方法的真正所在。
诸如toString()和valueOf()方法实际上都保存在prototype名下,只不过是通过各自对象的实例访问罢了。