Shi*_*han 8 javascript prototype
我是JavaScript的初学者,也是我在JavaScript中使用Prototypes的途中.
根据这里的文章
创建原型
创建对象原型的标准方法是使用对象构造函数:
function person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Run Code Online (Sandbox Code Playgroud)
使用构造函数,您可以使用new关键字从同一原型创建新对象:
var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");
Run Code Online (Sandbox Code Playgroud)
构造函数是person对象的原型.
我发现自己对上面的粗线感到困惑,我认为这是绝对错误的.
原因:
alert(person.isPrototypeOf(myFather)); // false
Run Code Online (Sandbox Code Playgroud)
我是否正确地这样说,因为我相信这一行:
'prototype'属性指向将在使用'new'时将被指定为使用该函数创建的实例原型的对象.
我同意术语不正确.
构造函数有一个prototype属性,用于定义原型链中的属性和方法; 但它本身不是一个对象的原型,它是构造函数.
isPrototypeOf 不是在构造函数本身上调用,而是在构造函数的prototype属性上调用.
alert(person.prototype.isPrototypeOf(myFather)); // true
Run Code Online (Sandbox Code Playgroud)
myFather将是一个,您可以使用以下行测试它.instanceof person
alert(myFather instanceof person); // true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1801 次 |
| 最近记录: |