constructor的实例应用
了解清楚constructor和prototype的关系
by kixi
CSS
/*
清晰网
kixi.com.cn
从javascript开始
*/
JavaScript
//JS 会为函数 F 的prototype对象额外添加一个constructor属性,并且该属性保存指向函数F的一个引用
function F() {
// some code
}
var f = new F();
//我们可以利用这个特性来完成下面的事情:
//对象类型判断,如
if (f.constructor === F) {
alert(true); // true
}
if (f.constructor === F.prototype.constructor) {
alert(true); // true
}
//其实constructor的出现原本就是用来进行对象类型判断的,但是constructor属性易变,不可信赖。我们有一种更加安全可靠的判定方法:instanceof 操作符。下面代码仍然返回true
if (f instanceof F) {
alert('清晰网--kixi.com.cn'); //清晰网kixi.com.cn
}
//原型链继承,由于constructor存在于prototype对象上,因此我们可以结合constructor沿着原型链找到最原始的构造函数