国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

javascript - js 面向對象

瀏覽:118日期:2023-05-11 10:46:56

問題描述

javascript - js 面向對象

請問一下 new 后面的mm函數 加不加括號有什么區別 為什么我得到的結果都是一樣的請資深大神講解一下里面的原理

問題解答

回答1:

首先,這種偏向基礎的問題要學會查閱官方文檔文檔中有詳細說明:new foo 等同于 new foo(), 只能用在不傳遞任何參數的情況當然,也不能完全相信文檔,畢竟js的坑。。那差別在哪呢?在這優先級匯總中有詳細說明:new(帶參數列表的)的優先級為19,而new(無參數離別)的優先級為18,所以new foo()會先執行

最后,我記得不久前看到一篇文章講的就是一個比較惡心的面試題,考的就是.,new f(),new f,new f.g(),new f().g()等等的優先級運算問題,可以自己搜一下看看

回答2:

參考 MDN

new constructor[([arguments])]

不需要傳遞參數時,括號()是可選項

回答3:

var mm = function(val){

this.m = val

}var a = new mm(1) ;console.log(a)var b = new mm ;console.log(b)

回答4:

如果構造函數不需要參數,加和不加括號沒有區別。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 清河县| 北安市| 湛江市| 珲春市| 峨边| 鄄城县| 高雄市| 南投县| 德令哈市| 凯里市| 洛南县| 永济市| 紫阳县| 定日县| 巨野县| 株洲市| 灵寿县| 武平县| 彭州市| 通榆县| 岳西县| 象州县| 南充市| 布拖县| 谷城县| 安陆市| 长泰县| 泰和县| 托克托县| 安陆市| 勃利县| 嘉义县| 武陟县| 兴安盟| 化州市| 揭西县| 陕西省| 克什克腾旗| 安平县| 庆城县| 南和县|