函数的length和prototype属性 – 学习画板

首页 » JavaScript » 函数的length和prototype属性

函数的length和prototype属性

函数的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名下,只不过是通过各自对象的实例访问罢了。

此文章发表在 JavaScript 标签为 . 将固定链接加入收藏.