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

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

JS運算符優先級與表達式示例詳解

瀏覽:83日期:2024-04-22 10:46:49

前言

運算符優先級決定了表達式中運算執行的先后順序,優先級越高的運算符會先執行。

運算符優先級

JS運算符優先級與表達式示例詳解

很多時候由于對運算符優先級的不確定,會用括號來確保表達式的執行順序。如果搞清楚運算符的優先級,即使不用括號也能確保表達式按照正確的順序執行。

其實單純靠運算符的優先級來確定表達式的執行過程并不是一個絕對穩妥的做法,比如 new a()[’b’] 這樣的表達式就沒法套用運算符優先級。當然一般情況下,絕大多數表達式我們都可以利用運算符優先級來判斷,如果確實遇到比較復雜的難以直觀判斷出來的情況還是要查詢 ECMAScript262 標準中的產生式。

表達式

左手表達式

左手表達式即 Left-Hand-Side Expression,即能出現在賦值運算左邊的表達式。幾乎所有的左手表達式都可以作為右手表達式,這在大部分編程語言中都是通用的。JS 中的左手表達式的詳細規則請看ECMAScript262-left-hand-side expression。標準中沒有定義右手表達式,因為合法的表達式只要不是左手表達式就是右手表達式,所以不需要在單獨定義。有一點需要注意的是 ++ 和 -- 的操作數也要是一個左手表達式。

一些細節

關聯性和優先級一樣重要,關聯性決定了擁有相同優先級的運算符的執行順序。 優先級為 19 的除了圖中 member運算、帶參數new ,還有帶標簽的模版字符串(可以理解為和函數調用類似),new.target,super作為對象使用(和成員訪問相同) 函數調用的優先級在圖中也是 19,但實際似乎優先級是要低于 member運算 和單參數 new 運算符的。當函數調用后接 member 運算符整個式子還是函數調用等級的。 一元加、一元減和算術運算符的加減是不同的,一元加和一元減都會講操作數轉為 Number,這也是它可以將函數聲明轉為函數表達式的原因。

總結

到此這篇關于JS運算符優先級與表達式的文章就介紹到這了,更多相關JS運算符優先級與表達式內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 北碚区| 丹东市| 丹凤县| 南阳市| 湖北省| 余江县| 清原| 黄梅县| 罗田县| 广安市| 青河县| 万山特区| 水富县| 禹州市| 松原市| 温泉县| 汝阳县| 扎兰屯市| 六盘水市| 准格尔旗| 河津市| 磐安县| 宜宾市| 庆阳市| 肃北| 清流县| 古田县| 平江县| 石城县| 克拉玛依市| 宜兴市| 赤峰市| 玉龙| 长垣县| 无极县| 鄱阳县| 庄河市| 东宁县| 古丈县| 无为县| 南丹县|