摘要:多數(shù)運(yùn)算符都是由標(biāo)點(diǎn)符號(hào)表示,比如和。通常會(huì)根據(jù)需要對(duì)操作數(shù)進(jìn)行類(lèi)型轉(zhuǎn)換左值是一個(gè)古老的屬于,它是指表達(dá)式只能出現(xiàn)在賦值運(yùn)算符的左側(cè)。也稱(chēng)為嚴(yán)格相等運(yùn)算符,它用來(lái)檢測(cè)兩個(gè)操作數(shù)是否嚴(yán)格相等。運(yùn)算符的檢測(cè)規(guī)則是和運(yùn)算符的求反。
</>復(fù)制代碼
源代碼: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/JavaScript_Core/JavaScript_Basics/Expressions.md
</>復(fù)制代碼
原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Expressions.html
表達(dá)式
表達(dá)式是JavaScript中的一個(gè)短語(yǔ),解釋器會(huì)將其計(jì)算出一個(gè)結(jié)果。程序中的常量是最簡(jiǎn)單的一類(lèi)表達(dá)式。
將簡(jiǎn)單的表達(dá)式在組合成復(fù)雜的表達(dá)式最常用的方法就是使用運(yùn)算符。運(yùn)算符按照特定運(yùn)算規(guī)則對(duì)操作數(shù)進(jìn)行運(yùn)算。
原始表達(dá)式原始表達(dá)式包括常量,關(guān)鍵字和變量.
對(duì)象和數(shù)組的初始化表達(dá)式數(shù)組初始化表達(dá)式是通過(guò)一對(duì)方括號(hào)和其內(nèi)由逗號(hào)隔開(kāi)的列表構(gòu)成的。例如
</>復(fù)制代碼
[]
[1+2,3+4]
也可以進(jìn)行嵌套:
</>復(fù)制代碼
[[1,2,3],[4,5,6]];
也可以通過(guò)逗號(hào)省略某些元素:
</>復(fù)制代碼
[1,,,,5]
對(duì)象初始化跟數(shù)組初始化非常相似,只是方括號(hào)被花括號(hào)代替,并且每個(gè)字表達(dá)式都包含一個(gè)屬性嗎和一個(gè)冒號(hào)作為前綴:
</>復(fù)制代碼
var p = {x:2.3, y:-1.2}
函數(shù)定義表達(dá)式
</>復(fù)制代碼
var quare = function(x) { return x * x;}
屬性訪問(wèn)表達(dá)式
</>復(fù)制代碼
o.x
調(diào)用表達(dá)式
</>復(fù)制代碼
f(0)
Math.max(x, y, z)
a.sort()
對(duì)象創(chuàng)建表達(dá)式
</>復(fù)制代碼
new Object()
new Point(2,3)
運(yùn)算符概述
JavaScript中有許多運(yùn)算符用于算術(shù)表達(dá)式,比較表達(dá)式,邏輯表達(dá)式,賦值表達(dá)式。多數(shù)運(yùn)算符都是由標(biāo)點(diǎn)符號(hào)表示,比如"+"和"="。另外一些運(yùn)算符則是由關(guān)鍵字表示,比如delete和instanceof。
運(yùn)算符可以根據(jù)其操作數(shù)的個(gè)人進(jìn)行分類(lèi)。多數(shù)的運(yùn)算符為二元運(yùn)算符 例如*。 同樣也有一些一元運(yùn)算符,例如,表達(dá)式-x中“-”運(yùn)算符,條件判斷運(yùn)算符 ?: 是一個(gè)三元運(yùn)算符。
一些運(yùn)算符可以作用與任何數(shù)據(jù)類(lèi)型,但是仍然希望它們的操作數(shù)是指定類(lèi)型的數(shù)據(jù),并且大多數(shù)運(yùn)算符返回一個(gè)特定類(lèi)型的值。通常會(huì)根據(jù)需要對(duì)操作數(shù)進(jìn)行類(lèi)型轉(zhuǎn)換
左值是一個(gè)古老的屬于,它是指 表達(dá)式只能出現(xiàn)在賦值運(yùn)算符的左側(cè)。在JavaScript中,變量,對(duì)象屬性和數(shù)組元素均是左值。ECMAScript規(guī)范允許內(nèi)置函數(shù)返回一個(gè)左值,但自定義的函數(shù)則不能返回左值。
算術(shù)表達(dá)式</>復(fù)制代碼
1 + 2
"hello" + " "
"1" + "2"
關(guān)系表達(dá)式
關(guān)系運(yùn)算符用于測(cè)試兩個(gè)值之間的關(guān)系,關(guān)系表達(dá)式總是返回一個(gè)布爾值,通常在if, while或者for語(yǔ)句中使用關(guān)系表達(dá)式,用以控制程序的執(zhí)行流程。
== 和 ===運(yùn)算符用于比較兩個(gè)值是否相等,他們對(duì)相等的定義不盡相同。兩個(gè)運(yùn)算符允許任意類(lèi)型的操作數(shù),如果操作數(shù)相等則返回true,否則返回false。====也稱(chēng)為嚴(yán)格相等運(yùn)算符,它用來(lái)檢測(cè)兩個(gè)操作數(shù)是否嚴(yán)格相等。== 運(yùn)算符稱(chēng)做相等運(yùn)算符,它用來(lái)檢測(cè)兩個(gè)操作數(shù)是否相等,這個(gè)相等的定義非常寬松,可以允許進(jìn)行類(lèi)型轉(zhuǎn)換。由于 == ===的結(jié)合性都是從左到右,所以在執(zhí)行==操作的時(shí)候,執(zhí)行左側(cè)的類(lèi)型轉(zhuǎn)換。 != !==運(yùn)算符的檢測(cè)規(guī)則是==和===運(yùn)算符的求反。
比較運(yùn)算符用來(lái)檢測(cè)兩個(gè)操作數(shù)的大小關(guān)系。例如 < > <= >=. 比較操作符的操作數(shù)可能是任意類(lèi)型的,然而之后數(shù)字和字符串才是真正執(zhí)行比較操作符,因?yàn)槟切┎皇菙?shù)字和字符串的操作數(shù)都將進(jìn)行類(lèi)型轉(zhuǎn)換。
in運(yùn)算符希望它的左操作數(shù)是一個(gè)字符串或可以轉(zhuǎn)換為字符串,希望它的右操作數(shù)是一個(gè)對(duì)象。如果右側(cè)的對(duì)象擁有一個(gè)名為左操作數(shù)值的屬性名,那么表達(dá)式返回true,例如:
</>復(fù)制代碼
var point = {x:1, y:1};
"x" in point
instanceof運(yùn)算符希望左操作數(shù)是一個(gè)對(duì)象,右操作數(shù)標(biāo)識(shí)對(duì)象的類(lèi)。如果左側(cè)的對(duì)象是右側(cè)類(lèi)的實(shí)例,則表達(dá)式返回true。例如:
</>復(fù)制代碼
var d = new Date();// 通過(guò)Date()構(gòu)造函數(shù)來(lái)創(chuàng)建一個(gè)新對(duì)象
d instanceof Date;// 計(jì)算結(jié)構(gòu)為true, d是由Date()創(chuàng)建的
邏輯表達(dá)式
邏輯運(yùn)算符 && || !是對(duì)操作數(shù)進(jìn)行布爾算術(shù)運(yùn)算,經(jīng)常和關(guān)系運(yùn)算符一起使用
</>復(fù)制代碼
if(a === b && c == d ) {
// some code
}
賦值表達(dá)式
JavaScript使用"="運(yùn)算符來(lái)給變量或者屬性賦值 例如:
</>復(fù)制代碼
i = 0
o.x = 1
=運(yùn)算符希望它的左操作數(shù)是一個(gè)左值, 右操作數(shù)可以使任意類(lèi)型的任意值。
除了常規(guī)的賦值運(yùn)算,JavaScript還支持許多其他的賦值運(yùn)算符,這些運(yùn)算符將賦值運(yùn)算符和其他運(yùn)算符連接起來(lái),提供了一種更為快捷的運(yùn)算方式。例如:
</>復(fù)制代碼
total += sales_tax
等價(jià)于
表達(dá)式計(jì)算</>復(fù)制代碼
total = total + sales_tax
和其他許多解釋性語(yǔ)言一樣,JavaScript同樣可以解釋運(yùn)行由JavaScript源代碼組成的字符串, 并產(chǎn)生一個(gè)值。JavaScript通過(guò)管局函數(shù)eval()來(lái)完成這個(gè)工作:
</>復(fù)制代碼
eval("3+2") //=>5
其他運(yùn)算符
條件運(yùn)算符(?:)是JavaScript中唯一的一個(gè)三元操作符:
</>復(fù)制代碼
x > 0 ? x : -x //求x的絕對(duì)值
typeof運(yùn)算符是一元運(yùn)算符,放在其單個(gè)操作數(shù)的前面,操作數(shù)可以使任意類(lèi)型。返回值為表示操作數(shù)類(lèi)型的一個(gè)字符串:
typeof最常用的用法是寫(xiě)在表達(dá)式中, 就像這樣:
</>復(fù)制代碼
(typeof value == "string") ? """ + value + """ : value
delete是一元操作符, 它用來(lái)刪除對(duì)象屬性或者數(shù)組元素.
</>復(fù)制代碼
var o = {x:1, y:2}//定義一個(gè)對(duì)象
delete o.x //刪除一個(gè)屬性
"x" in o //=> false:這個(gè)屬性在對(duì)象中不再存在
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/78113.html
摘要:基礎(chǔ)語(yǔ)法區(qū)分大小寫(xiě)是一種區(qū)分大小寫(xiě)的語(yǔ)法,意味著的關(guān)鍵字變量名函數(shù)名以及其他一切的字符表示都要使用一致的大小寫(xiě)形式。化物語(yǔ)化物語(yǔ)空格和換行會(huì)忽略代碼中出現(xiàn)的空格換行制表符。如果不用花括號(hào)獨(dú)立獨(dú)立編寫(xiě)一個(gè)語(yǔ)句,語(yǔ)法并不報(bào)錯(cuò),但不推薦。 JavaScript基礎(chǔ)語(yǔ)法 區(qū)分大小寫(xiě) JavaScript是一種區(qū)分大小寫(xiě)的語(yǔ)法,意味著JavaScript的關(guān)鍵字、變量名、函數(shù)名以及其他一切的字符...
摘要:原文源碼的詞法結(jié)構(gòu)字符集程序是用字符集。支持地球上幾乎所有在用的語(yǔ)言。是區(qū)分大小寫(xiě)的語(yǔ)言的。與在是不同的,在是相同的。會(huì)忽略程序中標(biāo)識(shí)之前的空格。多數(shù)情況下也會(huì)忽略換行符。 原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Lexical.html 源碼: https://github.com/Rob...
摘要:學(xué)編程真的不是一件容易的事不管你多喜歡或是多會(huì)編程,在學(xué)習(xí)和解決問(wèn)題上總會(huì)碰到障礙。熟練掌握核心內(nèi)容,特別是和多線程初步具備面向?qū)ο笤O(shè)計(jì)和編程的能力掌握基本的優(yōu)化策略。 學(xué)Java編程真的不是一件容易的事,不管你多喜歡或是多會(huì)Java編程,在學(xué)習(xí)和解決問(wèn)題上總會(huì)碰到障礙。工作的時(shí)間越久就越能明白這個(gè)道理。不過(guò)這倒是一個(gè)讓人進(jìn)步的機(jī)會(huì),因?yàn)槟阋恢辈粩嗟膶W(xué)習(xí)才能很好的解決你面前的難題...
摘要:語(yǔ)句塊的結(jié)尾不需要分號(hào),語(yǔ)句塊中的行都有縮進(jìn)單并不是必須的。條件語(yǔ)句條件語(yǔ)句就是指通過(guò)判斷指定的計(jì)算結(jié)果,來(lái)決定執(zhí)行還是跳過(guò)指定的語(yǔ)句塊。語(yǔ)句,在語(yǔ)句的基礎(chǔ)上,允許提供多個(gè)條件判斷。語(yǔ)句是終端語(yǔ)句,用于循環(huán)語(yǔ)句或開(kāi)關(guān)語(yǔ)句。 語(yǔ)句 語(yǔ)句的概念 語(yǔ)句其實(shí)就是JavaScript中的整句或命令,使用分號(hào)進(jìn)行分隔,可以編寫(xiě)一句,也可以編寫(xiě)多句。JavaScript中使用花括號(hào)({})表示一個(gè)語(yǔ)...
摘要:在定義函數(shù)的作用域外調(diào)用,得到的返回仍然是函數(shù)創(chuàng)建時(shí)所在的作用域的局部變量。這是因?yàn)樗诘哪涿瘮?shù)的閉包中存放的是第一行的,而不是在循環(huán)中獲得的的當(dāng)前值。 原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Function.html 源代碼: https://github.com/RobinQu/Pr...
閱讀 1391·2021-09-24 10:26
閱讀 1700·2019-08-30 14:14
閱讀 2113·2019-08-29 16:54
閱讀 371·2019-08-29 14:09
閱讀 1482·2019-08-29 12:55
閱讀 937·2019-08-28 18:13
閱讀 1588·2019-08-26 13:39
閱讀 2573·2019-08-26 11:43