亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript中判斷函數(shù)是new還是()調(diào)用的區(qū)別說明

 更新時間:2011年04月07日 23:38:19   作者:  
具名函數(shù)的各種調(diào)用方式 在之前篇幅中已經(jīng)介紹過了。這篇看看如何判斷一個函數(shù)是被new調(diào)用的,還是被其它方式調(diào)用的。
方式1
復(fù)制代碼 代碼如下:

function Person(n,a){
this.name = n;
this.age = a;
if(this instanceof Person){
alert('new調(diào)用');
}else{
alert('函數(shù)調(diào)用');
}
}
var p = new Person('jack',30); // --> new調(diào)用
Person(); // --> 函數(shù)調(diào)用

方式2
復(fù)制代碼 代碼如下:

function Person(n,a){
this.name = n;
this.age = a;
if(this instanceof arguments.callee){
alert('new調(diào)用');
}else{
alert('函數(shù)調(diào)用');
}
}
var p = new Person('jack',30); // --> new調(diào)用
Person(); // --> 函數(shù)調(diào)用

方式3
復(fù)制代碼 代碼如下:

function Person(n,a){
this.name = n;
this.age = a;
if(this.constructor === arguments.callee){
alert('new調(diào)用');
}else{
alert('函數(shù)調(diào)用');
}
}
var p = new Person('jack',30); // --> new調(diào)用
Person(); // --> 函數(shù)調(diào)用

看似很完美,但當(dāng)把函數(shù)/類作為自身實例對象的方法時調(diào)用就出問題了
復(fù)制代碼 代碼如下:

function Person(n,a){
this.name = n;
this.age = a;
if(this.constructor === arguments.callee){
alert('new調(diào)用');
}else{
alert('函數(shù)調(diào)用');
}
}
var p = new Person('jack',30); // 先new一個對象
p.fn = Person; // 把函數(shù)/類 Person 賦值給自身對象p的fn屬性
p.fn(); // 這句調(diào)用時提示“這是new調(diào)用”,顯然不對

還有更好的方法嗎?

相關(guān)文章

  • 云開發(fā)進(jìn)階uniCloud-db組件與JQL語法的轉(zhuǎn)換詳解

    云開發(fā)進(jìn)階uniCloud-db組件與JQL語法的轉(zhuǎn)換詳解

    這篇文章主要為大家介紹了云開發(fā)進(jìn)階uniCloud-db組件與JQL語法的轉(zhuǎn)換詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 基于javascript實現(xiàn)最簡單選項卡切換

    基于javascript實現(xiàn)最簡單選項卡切換

    這篇文章主要為大家詳細(xì)介紹了基于javascript實現(xiàn)最簡單選項卡切換,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 來訪統(tǒng)計

    來訪統(tǒng)計

    來訪統(tǒng)計...
    2006-11-11
  • 小程序點餐界面添加購物車左右擺動動畫

    小程序點餐界面添加購物車左右擺動動畫

    這篇文章主要介紹了小程序點餐界面添加購物車左右擺動動畫,當(dāng)用戶點擊添加到購物車后會有一個左右擺動的購物車提示效果,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-09-09
  • 利用javascript實現(xiàn)禁用網(wǎng)頁上所有文本框,下拉菜單,多行文本域

    利用javascript實現(xiàn)禁用網(wǎng)頁上所有文本框,下拉菜單,多行文本域

    這篇文章主要介紹了利用javascript實現(xiàn)禁用網(wǎng)頁上所有文本框,下拉菜單,多行文本域。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • 理解javascript中的with關(guān)鍵字

    理解javascript中的with關(guān)鍵字

    這篇文章主要幫助大家理解javascript中的with關(guān)鍵字,學(xué)習(xí)with關(guān)鍵字的作用,感興趣的小伙伴們可以參考一下
    2016-02-02
  • JS實現(xiàn)滑動插件

    JS實現(xiàn)滑動插件

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)滑動插件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • JavaScript實現(xiàn)控制打開文件另存為對話框的方法

    JavaScript實現(xiàn)控制打開文件另存為對話框的方法

    這篇文章主要介紹了JavaScript實現(xiàn)控制打開文件另存為對話框的方法,實例分析了javascript實現(xiàn)文件另存為的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • Javascript編程之繼承實例匯總

    Javascript編程之繼承實例匯總

    這篇文章主要介紹了Javascript編程之繼承實現(xiàn)方法,結(jié)合實例形式分析匯總了五種常見的繼承技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • 微信小程序中網(wǎng)絡(luò)請求緩存的解決方法

    微信小程序中網(wǎng)絡(luò)請求緩存的解決方法

    這篇文章主要給大家介紹了關(guān)于微信小程序中網(wǎng)絡(luò)請求緩存的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用微信小程序具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評論