[置顶] 深入浅出Javascript(三)创建自定义对象以及属性、方法
生活随笔
收集整理的這篇文章主要介紹了
[置顶] 深入浅出Javascript(三)创建自定义对象以及属性、方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? 怎么樣創(chuàng)建一個對象? 利用Object創(chuàng)建自定義對象 JavaScript能夠自定義對象來擴展程序的功能,不僅如此,它還能擴展JavaScript提供的內(nèi)置對象,新增內(nèi)置對象的屬性或方法 例如下面代碼,創(chuàng)建一個myObj對象 <script language="javascript" type="text/javascript">//聲明一個對象副本var myObj=new Object();//簡寫形式var myObj=new {};
</script> 給對象增加屬性 ?? //給對象增加屬性myObj.Name='李龍生';myObj.Age=24; 也可以用with語句 //with語句對對象操作with(myObj){Name='李龍生';Age='24';} 利用構(gòu)造函數(shù)創(chuàng)建對象 構(gòu)造函數(shù)(Constructor Function)是一個函數(shù),能夠定義對象的屬性和方法,其實,JavaScript內(nèi)置對象也是一些構(gòu)造函數(shù),如Object、Array、String等分別對應(yīng)Object()、Array()、String()構(gòu)造函數(shù)。 JavaScript能夠自己建立對象的構(gòu)造函數(shù),定義對象擁有的屬性和方法,然后,利用定義好的函數(shù)建立對象,也可以把它視為一個對象的聲明,如下代碼: <script language="javascript" type="text/javascript">//定義一個驗證登陸函數(shù)function yanzheng(UserName,UserPassWord){this.name=UserName;this.password=UserPassWord;}
</script> 上述構(gòu)造函數(shù)擁有兩個參數(shù)值,可以建立屬性值,this命令指的是建立的對象本身. 使用new命令建立對象副本 //實例化對象yanzheng1=new yanzheng('李龍生','123456'); 一般方式對象副本方式增加屬性和方法 只需通過對象自己增加,很簡單不再舉例子。 通過JavaScript的Prototype對象增加屬性和方法 JavaScript屬于一種基于原型語言,不同于Java、VB等,基于原型的語言其類與實例對象區(qū)別不大 例如我們可以拿一個現(xiàn)成的對象作為原型建立其他對象,此對象可以分享原型對象的屬性和方法,使用prototype對象可以繼承其他對象,而這一點是基于Class中,做不到的,在Class中需要用深淺復(fù)制的Prototype模式才可以實現(xiàn)。 每一個對象都擁有Prototype屬性,這個屬性會被創(chuàng)建這個對象副本的對象所繼承,這樣創(chuàng)建新對象時不用重復(fù)已有的屬性、方法,節(jié)省了內(nèi)存空間。 增加屬性 //通過原型增加級別屬性yanzheng.prototype.Level="管理員";
PS:JavaScript的對象可以看做是一個數(shù)組,對象名即數(shù)組名,屬性即數(shù)組元素,屬性值即元素值。
?
?
?
?
??????? 增加方法
//通過原型增加登陸方法yanzheng.prototype.login=BeginLogin;???
?
?????e. 通過Prototype繼承其它對象
???? 繼承不但可以使用原對象作為原型建立其它對象,還可以擴展對象的屬性和方法,例如對上面驗證函數(shù)如果新增一個安全模式驗證函數(shù),但它也需要用戶名、密碼,只需繼承上面即可??聪旅娲a
//登陸模式function SSL(ssl){this.SSL=ssl;}//prototype對象的繼承SSL.prototype=new yanzheng();????????????????? JS是一門語言,需要系統(tǒng)學(xué)習(xí),理解語言的本質(zhì)才會運用自如,打好基礎(chǔ)才能走的更遠!!
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/lilongsheng/archive/2013/01/15/3226066.html
總結(jié)
以上是生活随笔為你收集整理的[置顶] 深入浅出Javascript(三)创建自定义对象以及属性、方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度解析企业级存储解决方案
- 下一篇: Windows程序的基本结构(转)