JS原型對象的創(chuàng)建方法詳解
本文實例講述了JS原型對象的創(chuàng)建方法。分享給大家供大家參考,具體如下:
使用js的prototype屬性的時候,創(chuàng)建對象的方式是存在優(yōu)先級的
1、如果方法中存在構(gòu)造方法就先使用方法中的構(gòu)造方法
2、如果方法中不存在構(gòu)造方法則繼續(xù)查找prototype原型的構(gòu)造方法
<html> <head> <TITLE>class_obj_js_class</TITLE> <script language=javaScript> function a(name){ //alert(name);//彈出的值是undefined //alert(null==name);//true if(null == name){ this.name = name; } } function b(name){ //alert(name);//彈出的值是undefined //false,this.name沒有重新賦值,還是new創(chuàng)建的值prototype.name="TOm" if(null != name){ this.name = name; } } //有參構(gòu)造方法 function c(name){ //alert(name);//彈出的值是undefined //如果name為true則不管后面是什么就直接返回第一個值 //如果name為false則不管后面是什么直接返回后面的值 this.name = name || "Jack";//如果name為空則賦值為后面的Jack } //無參構(gòu)造方法 function d(){ } a.prototype.name = "Tom"; b.prototype.name = "Tom"; c.prototype.name = "Tom"; d.prototype.name = "Tom"; //有參構(gòu)造方法 alert(new a().name); //undefined alert(new b().name);//Tom alert(new c().name);//Jack alert(new d().name);//使用無參構(gòu)造方法 </script> <body > </body> </html>
備注:
1、一般我們在方法中添加“對象”的屬性
2、在prototype屬性后面添加方法
這樣做的目的是為了提高代碼的復用,可以“無限”給對象添加方法,便于拓展
注意:為了提高JS的效率,要注意再使用prototype鏈的時候應該盡量限定在一、二級,因為瀏覽器會自動去循環(huán)遍歷,深度太深了之后會影響效率
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)》
希望本文所述對大家JavaScript程序設計有所幫助。
相關(guān)文章
JavaScript提高網(wǎng)站性能優(yōu)化的建議(二)
這篇文章主要介紹了JavaScript提高網(wǎng)站性能優(yōu)化的建議(二)的相關(guān)資料,需要的朋友可以參考下2016-07-07JS+CSS實現(xiàn)鼠標滑過時動態(tài)翻滾的導航條效果
這篇文章主要介紹了JS+CSS實現(xiàn)鼠標滑過時動態(tài)翻滾的導航條效果,涉及JavaScript動態(tài)設置css樣式動畫過度效果的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09關(guān)于meta viewport中target-densitydpi屬性詳解(推薦)
這篇文章主要介紹了關(guān)于meta viewport中target-densitydpi屬性詳解,通過不同的縮放比例實現(xiàn)了不同的預覽效果,具體操作步驟大家可查看下文的詳細講解,感興趣的小伙伴們可以參考一下。2017-08-08