- JavaScript前端開發程序設計教程(微課版)
- 李玉臣 臧金梅
- 673字
- 2019-12-20 19:37:11
2.4 表達式
表達式是指由運算符和操作數組合而成并且能夠進行運算獲得結果值的式子。所有的表達式都有返回值。
1.運算符的優先級
如果一個表達式中有多個不同的運算符,這些運算符進行運算的時候,就要考慮運算符的優先級問題,就是先運算誰和后運算誰的問題。最基本優先策略是““先乘除,后加減”,其次遵循算術運算符優先于關系運算符,關系運算符優先于邏輯運算符,邏輯運算符優先于賦值運算符的規律,具體優先級順序如表2-8所示。
表2-8 JavaScript運算符的優先級

2.表達式中類型轉換
表達式通常要求操作數的數據類型是相同的,例如進行加減乘除運算的表達式,操作數全是數值型的,進行邏輯運算的表達式其操作數的數據類型全是布爾型的等諸如此類的情況。但是,在JavaScript中卻沒有這么嚴格的要求,它是一種弱類型的程序設計語言,允許運算符對數據類型不匹配的操作數進行運算。主要原因是JavaScript會根據運算符的特性和操作數的類型進行隱式類型轉換。JavaScript進行轉換的形式主要有以下幾種。
(1)+運算符,有以下兩種情況。
? 如果兩個操作數中有一個為字符串,那么JavaScript認為是進行字符串連接運算,并把不是字符串類型的操作數轉換成字符串。
? 如果兩個操作數都不是字符串,那么JavaScript認為是進行加運算。
(2)其他運算符:如果操作數類型不符合當前運算符運算類型,那么JavaScript會把操作數改為相應的類型的值再進行運算。例如,*運算會要求操作數全部是數值型。
試一試,下面幾個表達式的值分別是多少?
(1)求表達式10+30、10+“30”“10”+30、“10”+“30”的值。
(2)求表達式10-30、10-“30”“10”-30、“10”-“30”的值。
(3)求表達式true+10、true+“10”、true+false、true-false的值。
(4)求表達式“a”-10的值。
- JavaScript百煉成仙
- Docker進階與實戰
- Getting Started with PowerShell
- TradeStation交易應用實踐:量化方法構建贏家策略(原書第2版)
- SQL Server從入門到精通(第3版)
- 移動界面(Web/App)Photoshop UI設計十全大補
- Salesforce Reporting and Dashboards
- Python之光:Python編程入門與實戰
- HoloLens與混合現實開發
- Access 2010數據庫應用技術實驗指導與習題選解(第2版)
- ABAQUS6.14中文版有限元分析與實例詳解
- Python 快速入門(第3版)
- Appcelerator Titanium Smartphone App Development Cookbook
- Practical Linux Security Cookbook
- 編程風格:程序設計與系統構建的藝術(原書第2版)