欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

小議Function.apply() 之一------(函數(shù)的劫持與對(duì)象的復(fù)制)

 更新時(shí)間:2006年11月30日 00:00:00   作者:  
關(guān)于對(duì)象的繼承,一般的做法是用復(fù)制法: Object.extend

見protpotype.js 的實(shí)現(xiàn)方法:

復(fù)制代碼 代碼如下:
Object.extend = function(destination, source) { 
  for (property in source) { 
    destination[property] = source[property]; 
  } 
  return destination; 

除此以外,還有一種不太常見的方法:  Function.apply.

apply 方法能劫持(<<Ajax in Action>> 書中用到"劫持"一語,很生動(dòng)啊)另外一個(gè)對(duì)象的方法,
繼承另外一個(gè)對(duì)象的屬性。
示范代碼如下:
Apply示范代碼 
復(fù)制代碼 代碼如下:
<script> 

function Person(name,age){   //定義一個(gè)類,人類  
    this.name=name     //名字  
    this.age=age       //年齡 
    this.sayhello=function(){alert("hello")} 


function Print(){            //顯示類的屬性 
    this.funcName="Print" 
    this.show=function(){      
        var msg=[] 
        for(var key in this){ 
            if (typeof(this[key])!="function") msg.push([key,":",this[key]].join("")) 
        } 
        alert(msg.join("\n")) 
    } 


function Student(name,age,grade,school){    //學(xué)生類 
    Person.apply(this,arguments) 
    Print.apply(this,arguments) 
    this.grade=grade                  //年級(jí) 
    this.school=school                    //學(xué)校 


var p1=new Person("jake",10) 
p1.sayhello() 

var s1=new Student("tom",13,6,"清華小學(xué)") 
s1.show() 
s1.sayhello() 
alert(s1.funcName) 
</script> 
 學(xué)生類本來不具備任何方法,但是在 Person.apply(this,arguments)  后,他就具備了 Person類的sayhello方法和
所有屬性。  在 Print.apply(this,arguments) 后就自動(dòng)得到了  show() 方法。


本文,作為拋磚引玉,只對(duì) apply 的用法(在對(duì)象繼承和函數(shù)劫持方面)做個(gè)小示范,其他更深入的應(yīng)用要
靠大家慢慢去領(lǐng)會(huì)了。

相關(guān)文章

  • 使用 electron 實(shí)現(xiàn)類似新版 QQ 的登錄界面效果(陰影、背景動(dòng)畫、窗體3D翻轉(zhuǎn))

    使用 electron 實(shí)現(xiàn)類似新版 QQ 的登錄界面效果(陰影、背景動(dòng)畫、窗體3D翻轉(zhuǎn))

    這篇文章主要介紹了使用 electron 實(shí)現(xiàn)類似新版 QQ 的登錄界面效果(陰影、背景動(dòng)畫、窗體3D翻轉(zhuǎn)),其實(shí)主要用到的就是 CSS3 的效果:邊框圓角、陰影,3D變換,實(shí)現(xiàn)代碼超級(jí)簡單,需要的朋友可以參考下
    2018-10-10
  • JS從非數(shù)組對(duì)象轉(zhuǎn)數(shù)組的方法小結(jié)

    JS從非數(shù)組對(duì)象轉(zhuǎn)數(shù)組的方法小結(jié)

    這篇文章主要給大家介紹了關(guān)于JS從非數(shù)組對(duì)象轉(zhuǎn)數(shù)組的一些方法,分別是Array.prototype.slice.call(obj)、Array.from(obj)、[…obj]和Object.values(obj)等方法的詳細(xì)實(shí)現(xiàn)方法,需要的朋友可以參考下。
    2018-03-03
  • 深入理解JavaScript 中的匿名函數(shù)((function() {})();)與變量的作用域

    深入理解JavaScript 中的匿名函數(shù)((function() {})();)與變量的作用域

    匿名函數(shù)沒有實(shí)際名字的函數(shù),匿名函數(shù)(function() {})();是一個(gè)特殊的閉包寫法。本文蛀牙給大家介紹JavaScript 中的匿名函數(shù)((function() {})();)與變量的作用域,需要的朋友可以參考下
    2018-08-08
  • webpack中的代理配置詳解

    webpack中的代理配置詳解

    本文主要介紹了webpack中的代理配置詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 微信小程序wx:for和wx:for-item的用法詳解

    微信小程序wx:for和wx:for-item的用法詳解

    這篇文章主要介紹了微信小程序wx:for和wx:for-item的正確用法,wx:for是循環(huán)數(shù)組,wx:for-item即給列表賦別名,文中給大家列出來幾個(gè)錯(cuò)誤用法,大家一起學(xué)習(xí)下
    2018-04-04
  • JS實(shí)現(xiàn)iframe中子父頁面跨域通訊的方法分析

    JS實(shí)現(xiàn)iframe中子父頁面跨域通訊的方法分析

    這篇文章主要介紹了JS實(shí)現(xiàn)iframe中子父頁面跨域通訊的方法,結(jié)合實(shí)例形式分析了JS實(shí)現(xiàn)iframe頁面跨域通訊常見操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • js純前端實(shí)現(xiàn)騰訊cos文件上傳功能的示例代碼

    js純前端實(shí)現(xiàn)騰訊cos文件上傳功能的示例代碼

    這篇文章主要介紹了vue純前端實(shí)現(xiàn)騰訊cos文件上傳功能的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • 小程序?qū)崿F(xiàn)登錄功能

    小程序?qū)崿F(xiàn)登錄功能

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)登錄功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • 全面接觸神奇的Bootstrap導(dǎo)航條實(shí)戰(zhàn)篇

    全面接觸神奇的Bootstrap導(dǎo)航條實(shí)戰(zhàn)篇

    導(dǎo)航條(navbar)在Bootstrap中是一個(gè)獨(dú)立組件,導(dǎo)航條(navbar)和導(dǎo)航(nav)在Bootstrap中是有明顯區(qū)別的,本文全面接觸神奇的Bootstrap導(dǎo)航條,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 微信小程序監(jiān)聽用戶登錄事件的實(shí)現(xiàn)方法

    微信小程序監(jiān)聽用戶登錄事件的實(shí)現(xiàn)方法

    這篇文章主要介紹了微信小程序監(jiān)聽用戶登錄事件的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評(píng)論