javascript - js 面向?qū)ο?/h1>
瀏覽:253日期:2023-05-11 10:46:56
問題描述
![javascript - js 面向?qū)ο? src=]()
請問一下 new 后面的mm函數(shù) 加不加括號有什么區(qū)別 為什么我得到的結(jié)果都是一樣的請資深大神講解一下里面的原理
問題解答
回答1:首先,這種偏向基礎(chǔ)的問題要學(xué)會(huì)查閱官方文檔文檔中有詳細(xì)說明:new foo 等同于 new foo(), 只能用在不傳遞任何參數(shù)的情況當(dāng)然,也不能完全相信文檔,畢竟js的坑。。那差別在哪呢?在這優(yōu)先級匯總中有詳細(xì)說明:new(帶參數(shù)列表的)的優(yōu)先級為19,而new(無參數(shù)離別)的優(yōu)先級為18,所以new foo()會(huì)先執(zhí)行
最后,我記得不久前看到一篇文章講的就是一個(gè)比較惡心的面試題,考的就是.,new f(),new f,new f.g(),new f().g()等等的優(yōu)先級運(yùn)算問題,可以自己搜一下看看
回答2:參考 MDN
new constructor[([arguments])]
不需要傳遞參數(shù)時(shí),括號()是可選項(xiàng)
回答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. golang - 用IDE看docker源碼時(shí)的小問題2. html - css氣泡,實(shí)現(xiàn)“倒三角(不知道算不算三角了)”可透明的。3. phpstudy8.1沒集成mysql-front4. java - 如何點(diǎn)擊按鈕,重新運(yùn)行(我是初學(xué)者)?5. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?6. 我何時(shí)應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)7. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!8. 前端 - @media query 使用出現(xiàn)的問題?9. html5和Flash對抗是什么情況?10. javascript - 請指條明路,angular的$event,在select中卻是undefined?
問題描述
請問一下 new 后面的mm函數(shù) 加不加括號有什么區(qū)別 為什么我得到的結(jié)果都是一樣的請資深大神講解一下里面的原理
問題解答
回答1:首先,這種偏向基礎(chǔ)的問題要學(xué)會(huì)查閱官方文檔文檔中有詳細(xì)說明:new foo 等同于 new foo(), 只能用在不傳遞任何參數(shù)的情況當(dāng)然,也不能完全相信文檔,畢竟js的坑。。那差別在哪呢?在這優(yōu)先級匯總中有詳細(xì)說明:new(帶參數(shù)列表的)的優(yōu)先級為19,而new(無參數(shù)離別)的優(yōu)先級為18,所以new foo()會(huì)先執(zhí)行
最后,我記得不久前看到一篇文章講的就是一個(gè)比較惡心的面試題,考的就是.,new f(),new f,new f.g(),new f().g()等等的優(yōu)先級運(yùn)算問題,可以自己搜一下看看
回答2:參考 MDN
new constructor[([arguments])]
不需要傳遞參數(shù)時(shí),括號()是可選項(xiàng)
回答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ū)別。

網(wǎng)公網(wǎng)安備