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