下載了WPS,但為什么打不工表格和文檔(為什么wps表格打字打不出來)
718
2025-03-31
繼承
繼承了過多沒用的屬性
通過使用new關鍵字來實現繼承父元素屬性和方法,再通過prototype屬性來改變函數原型,從而實現一條完整的原型鏈,從而實現子函數可以繼承父函數的屬性和方法
function Father() { this.name = 'hhh'; } var father = new Father(); Son.prototype = father; function Son() { } var son = new Son();//son下繼承了father的name
不能繼承構造函數的原型
// 1. 父構造函數 function Father(uname, age) { // this 指向父構造函數的對象實例 this.uname = uname; this.age = age; } // 2 .子構造函數 function Son(uname, age, score) { // this 指向子構造函數的對象實例 // 3.使用call方式實現子繼承父的屬性 Father.call(this, uname, age); this.score = score; } var son = new Son('lin', 19, 100); console.log(son);
Son.prototype = Father.prototype,不能改動自己的原型
Father.prototype.lastName = 'lin'; function Father() { this.name = 'hhh'; } function Son() { } Son.prototype = Father.prototype;//son和father共用原型 var father = new Father(); var son = new Son();
在共享原型的基礎上加多一個構造函數F做中間層,讓F和Father共有原型,也就是把Father的原型賦值給F一份,在F和son之間操作,這樣就可以隔開son和father但又不影響繼承
function inherit(Target,Origin) { function F() {} F.prototype = Origin.prototype;//把父元素的原型給F Target.prototype = new F();//通過new的方法把F的原型返回給目標 } Father.prototype.lastName = 'lin'; function Father() {} function Son() {} inherit(Son.Father); var son = new Son(); var father = new Father();
枚舉
遍歷對象
用var k in obj,k是obj中對象屬性,obj是我們要遍歷的對象
var obj = { a : '1', b : '2', c : '3' } var obj1 = {} for(var k in obj) { if(obj.hasOwnProperty(k)){ console.log(obj[k]); } }
hasOwnProperty這個方法會判斷這個屬性是不是你自己的,是返回true
instanceof方法,A instanceof B意思是A對象是不是B構造函數構造出來的,看A的原型鏈上有沒有B的原型
判斷是數組還是對象
constructor// array ||Object
instanceof// true || false
toString // ‘[object Array]’ || [‘object Object’]
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。