functionstudent()
student.prototype=
}//簡單原型寫法本質上完全重寫了預設的prototype物件,因此construtor屬性也就變成了新物件的constructor屬性,指向了object建構函式,不再指向student函式。
//通過constructor已經無法確定物件型別了
var student = new
student();
alert(student
instanceof object);//
true
alert(student instanceof student);//
true
alert(student.constructor==student);//
false
alert(student.constructor==object);//
true
如果constructor的值很重要,可以設定回來。
functionstudent()
student.prototype=
}var student = new
student();
alert(student
instanceof object);//
true
alert(student instanceof student);//
true
alert(student.constructor==student);//
true
alert(student.constructor==object);//
false
注意constructor屬性預設是不可列舉的,但這樣設定後就可以列舉了。
可以先建立出物件,然後再對原型新增屬性,之後還是能獲取到原型新增的屬性。
functionstudent()
var student = new
student();
student.prototype.myname=function
() student.myname();//輸出yjj
注意和簡單原型語法一起使用時:
functionstudent()
var student = new
student();
student.prototype=
}student.myname();
//錯誤
簡單原型寫法 重寫原型物件切斷了現有原型與任何之前已經存在的物件例項之間的聯絡,它們仍然引用的是最初的原型。
JS原型的動態性
由於在原型中查詢成員的過程是一次搜尋,所以我們對原型物件所做的任何修改都能立即從例項上反映出來 但不包括對原型物件的重寫,下面會介紹到 即使是對原型的修改操作在建立例項之後。如下面的示例所示 function wede wede.prototype.name wede s name wede s n...
簡單有趣的原型語法
前些天偶然看到了乙個有趣的原型語法,這種方法稍微簡化了咱們給原型物件新增方法和屬性的書寫過程,而且非常清新,給人一種一目了然的感覺,在這裡欣喜地和大家分享一下 先來看看我們傳統的新增原型物件的屬性 方法的方式 function person person.prototype.name han per...
更簡單的原型語法
function person person.prototype.name nicholas person.prototype.age 29 person.prototype.job software engineer person.prototype.sayname function 前面例子中每...