軟件是一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合。一般來(lái)講軟件被劃分為編程語(yǔ)言、系統(tǒng)軟件、應(yīng)用軟件和介于這兩者之間的中間件。硬件是“計(jì)算機(jī)硬件”的簡(jiǎn)稱。與“軟件”相對(duì),電子計(jì)算機(jī)系統(tǒng)中所有實(shí)體部件和設(shè)備的統(tǒng)稱。
JavaScript怎么做運(yùn)算呢?JavaScript的運(yùn)算符與其他語(yǔ)言又有什么不同呢?現(xiàn)在小編就給大家講解一下吧。

JavaScript教程之運(yùn)算符
1、javascript具有下列種類的運(yùn)算符:算術(shù)運(yùn)算符;等同運(yùn)算符與全同運(yùn)算符;比較運(yùn)算符;
2、目的分類:字符串運(yùn)算符;邏輯運(yùn)算符;逐位運(yùn)算符;賦值運(yùn)算符;
3、特殊運(yùn)算符:條件運(yùn)算符;typeof運(yùn)算符;創(chuàng)建對(duì)象運(yùn)算符new;delete運(yùn)算符;void運(yùn)算符號(hào);逗號(hào)運(yùn)算符;
算術(shù)運(yùn)算符:+ 、 - 、* 、 / 、 % 、 -(一元取反) 、 ++ 、 --
等同運(yùn)算符與全同運(yùn)算符:== 、 ===、 !== 、 !===
比較運(yùn)算符:《 、 》 、 《= 、 》=
字符串運(yùn)算符::《 、 》 、 《= 、 》= 、 = 、 +
邏輯運(yùn)算符:&& 、 ||、 !、
賦值運(yùn)算符:=、 +=、 *=、 -=、 /=
規(guī)則:
一、一定要注意傳遞給運(yùn)算符的數(shù)據(jù)類型和返回的數(shù)據(jù)類型!不同的運(yùn)算符都期望它的運(yùn)算數(shù)表達(dá)式計(jì)算出的結(jié)果符合某種數(shù)據(jù)類型。
例如:對(duì)字符串是不能進(jìn)行乘法運(yùn)算的,“a” * “b” 是不合法的,但是,在可能的情況下,javascript會(huì)把表達(dá)式轉(zhuǎn)換成正確的類型,因此,表達(dá)式 “3” * “5” 是合法的,javascript將字符串轉(zhuǎn)換成數(shù)字執(zhí)行運(yùn)算,結(jié)果返回的是數(shù)字15,而不是字符串“15”。
二、+ 根據(jù)運(yùn)算數(shù)的不同,具有不同的表現(xiàn):
字符串 + 字符串 = 字符串(被連接);“a” + “b” = “ab” “5” + “6” = “11”
字符串 + 數(shù)字 = (字符串轉(zhuǎn)換成數(shù)字)字符串(被連接);“a” + 5 = “a5” 5被轉(zhuǎn)換成字符串 “1” + 0 = “10”
數(shù)字 + 數(shù)字 = 數(shù)字(相加)5 + 5 = 10。
三、注意運(yùn)算符的結(jié)合性,有些運(yùn)算符從左到右的結(jié)合性;有些從右到左結(jié)合性。
例如:w = a + b + c 等同于 w = (a + b) + c;
w = ---b 等同于 w = - ( - ( -b ) ); w = a = b = c 等同于 w= ( a = ( b = c ))
一元運(yùn)算符、賦值運(yùn)算符、三元運(yùn)算符的結(jié)合性是從右到左的;
四、算術(shù)運(yùn)算符規(guī)則:
“+”:可以進(jìn)行“加法”與“連接”運(yùn)算;如果2個(gè)運(yùn)算符中的一個(gè)是字符串,javascript就將另一個(gè)轉(zhuǎn)換成字符串,然后將2個(gè)運(yùn)算數(shù)連接起來(lái)。
“+”:如果一個(gè)運(yùn)算數(shù)是對(duì)象,javascript就會(huì)將對(duì)象轉(zhuǎn)換成數(shù)字做加法運(yùn)算或者字符串做連接運(yùn)算;
“-”“*”“/” 如果2個(gè)運(yùn)算數(shù)中的一個(gè)是是非數(shù)字,則將它轉(zhuǎn)化成數(shù)字執(zhí)行數(shù)學(xué)運(yùn)算。
“/” 在javascript中,由于所有的數(shù)都是浮點(diǎn)數(shù),除法的結(jié)果都是浮點(diǎn)數(shù),5 / 2 = 2.5 ;除數(shù)為0的結(jié)果為正負(fù)無(wú)窮;0/0為NaN;
“%”模運(yùn)算符:計(jì)算第一個(gè)運(yùn)算數(shù)對(duì)第二個(gè)運(yùn)算數(shù)的模,就是第一個(gè)運(yùn)算數(shù)被第二個(gè)運(yùn)算數(shù)除時(shí),返回余數(shù)。如果運(yùn)算數(shù)是非數(shù)字的,則轉(zhuǎn)換成數(shù)字。
“-”一元取反:將運(yùn)算數(shù)取反,如果運(yùn)算數(shù)不是數(shù)字,則轉(zhuǎn)化成數(shù)字。
“++”“--”增量運(yùn)算符/減量運(yùn)算符號(hào):運(yùn)算數(shù)必須是一個(gè)變量、樹(shù)組的一個(gè)元素或?qū)ο蟮囊粋(gè)屬性。如果運(yùn)算數(shù)不是數(shù)字,則轉(zhuǎn)換成數(shù)字。
注意:如果“++”位于運(yùn)算數(shù)之前,先對(duì)運(yùn)算數(shù)進(jìn)行增量,然后計(jì)算運(yùn)算數(shù)增長(zhǎng)后的值。
如果“--”位于運(yùn)算數(shù)之后,先計(jì)算運(yùn)算數(shù)未增長(zhǎng)之前的值,然后對(duì)運(yùn)算數(shù)增量。
例如:i = 1; //賦值給i值1
j = ++i; //先將i增量為2,然后將2賦值給j,i的值是2,j的值也是2。
i = 1; //賦值給i值1
j = i++; //先將i賦值給j,然后對(duì)將i值增量到2,i的值是2,j的值是1。
減量運(yùn)算符“--”與“++”相同。
五、等同運(yùn)算符與全同運(yùn)算符:
(一)“==”“!==”等同運(yùn)算符與非等同運(yùn)算符:
比較2個(gè)運(yùn)算數(shù),返回一個(gè)不布爾值。
比較數(shù)值、字符串、布爾值使用的都是量值。當(dāng)且僅當(dāng)兩個(gè)變量存放的值相等的時(shí)候,他們才相等。
比較對(duì)象、數(shù)組、函數(shù)的時(shí)候,使用的是引用,只有2個(gè)變量引用的是同一個(gè)對(duì)象時(shí),他們才是相等的
。兩個(gè)不同的數(shù)組是完全不同的,即使他們具有完全相同的元素。對(duì)于存放對(duì)象、數(shù)組、函數(shù)的引用的變量來(lái)
說(shuō),只有當(dāng)他們引用的是同一個(gè)對(duì)象、數(shù)組、函數(shù)的時(shí)候,他們才相等。