javascript - js 面向?qū)ο?/h1>
瀏覽:94日期:2023-05-11 10:46:56
問題描述
![javascript - js 面向?qū)ο? src=]()
請問一下 new 后面的mm函數(shù) 加不加括號有什么區(qū)別 為什么我得到的結(jié)果都是一樣的請資深大神講解一下里面的原理
問題解答
回答1:首先,這種偏向基礎(chǔ)的問題要學(xué)會查閱官方文檔文檔中有詳細說明:new foo 等同于 new foo(), 只能用在不傳遞任何參數(shù)的情況當(dāng)然,也不能完全相信文檔,畢竟js的坑。。那差別在哪呢?在這優(yōu)先級匯總中有詳細說明:new(帶參數(shù)列表的)的優(yōu)先級為19,而new(無參數(shù)離別)的優(yōu)先級為18,所以new foo()會先執(zhí)行
最后,我記得不久前看到一篇文章講的就是一個比較惡心的面試題,考的就是.,new f(),new f,new f.g(),new f().g()等等的優(yōu)先級運算問題,可以自己搜一下看看
回答2:參考 MDN
new constructor[([arguments])]
不需要傳遞參數(shù)時,括號()是可選項
回答3:var mm = function(val){
this.m = val
}var a = new mm(1) ;console.log(a)var b = new mm ;console.log(b)
回答4:如果構(gòu)造函數(shù)不需要參數(shù),加和不加括號沒有區(qū)別。
標(biāo)簽:
JavaScript
相關(guān)文章:
1. python - 有什么好的可以收集貨幣基金的資源?2. css3 - jquery div 翻轉(zhuǎn)?3. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.4. docker容器呢SSH為什么連不通呢?5. docker鏡像push報錯6. docker start -a dockername 老是卡住,什么情況?7. docker網(wǎng)絡(luò)端口映射,沒有方便點的操作方法么?8. golang - 用IDE看docker源碼時的小問題9. node.js - nodejs debug問題10. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題
問題描述
請問一下 new 后面的mm函數(shù) 加不加括號有什么區(qū)別 為什么我得到的結(jié)果都是一樣的請資深大神講解一下里面的原理
問題解答
回答1:首先,這種偏向基礎(chǔ)的問題要學(xué)會查閱官方文檔文檔中有詳細說明:new foo 等同于 new foo(), 只能用在不傳遞任何參數(shù)的情況當(dāng)然,也不能完全相信文檔,畢竟js的坑。。那差別在哪呢?在這優(yōu)先級匯總中有詳細說明:new(帶參數(shù)列表的)的優(yōu)先級為19,而new(無參數(shù)離別)的優(yōu)先級為18,所以new foo()會先執(zhí)行
最后,我記得不久前看到一篇文章講的就是一個比較惡心的面試題,考的就是.,new f(),new f,new f.g(),new f().g()等等的優(yōu)先級運算問題,可以自己搜一下看看
回答2:參考 MDN
new constructor[([arguments])]
不需要傳遞參數(shù)時,括號()是可選項
回答3:var mm = function(val){
this.m = val
}var a = new mm(1) ;console.log(a)var b = new mm ;console.log(b)
回答4:如果構(gòu)造函數(shù)不需要參數(shù),加和不加括號沒有區(qū)別。
