操作符是執(zhí)行某種數(shù)學(xué)材鹦,邏輯或賦值操作的符號果录。在某些情況下咽袜,有助于縮短代碼(我們將在本章中看到)。
讓我們看一個基于操作符的簡單示例
2 + 2(這里+是加法運(yùn)算符盅视,2,2是操作數(shù))+運(yùn)算符將對兩個數(shù)字進(jìn)行加法運(yùn)算捐名。
Javascript使用幾種不同類型的運(yùn)算符
1.數(shù)學(xué)運(yùn)算符
2.分配算子
3.比較運(yùn)算符
4.邏輯運(yùn)算符
5.位運(yùn)算符
6.特殊運(yùn)算法
了解數(shù)學(xué)運(yùn)算符
這些操作符用于進(jìn)行數(shù)學(xué)運(yùn)算,如加法闹击,減法镶蹋,多重分割,除法等赏半。
讓我們快速看一下js代碼
<script>
var x = 23;?
var y = 12;
var z = x + y;?
document.write(z);
</script>
在上面的代碼中贺归,我們聲明三個變量,在變量x和y中断箫,我們存儲兩個數(shù)字拂酣,并使用'+'運(yùn)算符存儲變量z中的兩個數(shù)字的相加。
讓我們看看另一個代碼
<script>
var x = "Hello";?
var y = "world";
var z = x + y;?
document.write(z);
</script>
上面的代碼將產(chǎn)生輸出為Helloworld仲义,這意味著'+'運(yùn)算符也可以用于連接兩個字符串婶熬,現(xiàn)在你必須考慮如果我們添加一個數(shù)字和字符串會是什么輸出?答案是輸出會是一個字符串埃撵,javascript會連接數(shù)字和字符串赵颅,例如看下面的代碼
<script>
var x = 2;
var y = "world";
var z = x + y;?
document.write(z);
</script>
上面的代碼將產(chǎn)生輸出為2world,你看到如何將一個類型的數(shù)據(jù)轉(zhuǎn)換成另一種類型暂刘,在這種情況下饺谬,它將數(shù)字轉(zhuǎn)換成一個字符串,這被稱為隱式轉(zhuǎn)換中的類型轉(zhuǎn)換谣拣。
現(xiàn)在讓我們嘗試一些其他的算術(shù)運(yùn)算符募寨,
varx=6;//learn more about variables in the 2nd chapter of the seriesvary=5;varsum=x+y;//storing the sum of x and y in var zvardifference=x – y;varproduct=x*y;vardividend=x/y//the ‘/' opertor returns the dividenddocument.write(sum+" "+difference+" "+product+" "+dividend);
<script>
var x = 6;?
var y = 5;
var sum = x + y;?
var difference = x – y;
var product = x * y;?
var dividend = x / y ; //這里的 ‘/'除法的意思
document.write(sum + " " + difference + " " + product + " " + dividend);
</script>
上面的代碼將產(chǎn)生如下的輸出:11 1 30 1.2族展,在document.write()中,我們連接每個變量時都需要用到加號進(jìn)行拼接拔鹰,這就是為什么我們在每個輸出之間有空格苛谷。
我們已經(jīng)討論了一些基本的智力運(yùn)算符,現(xiàn)在我們來看看一些更多的運(yùn)算符格郁。
模數(shù)運(yùn)算符(%)
該運(yùn)算符返回兩個數(shù)字的剩余部分,例如
3%2將返回1独悴,因為1是余數(shù)例书,當(dāng)我們除以3/2。
<script>
var a = 3; //定一個變量為3
var b = 4; //定義一個變量為 4
document.write(b%a);
</script>
上述代碼將打印輸出為1刻炒。
增量運(yùn)算符(++)
增量運(yùn)算符可以在要運(yùn)行的值的任一側(cè)使用决采。它將值增加1,就像添加1一樣坟奥。實際結(jié)果取決于操作員是否在其工作值之前或之后使用树瞭。這個運(yùn)算符經(jīng)常與變量和循環(huán)中使用(我們將在本系列的即將到來的章節(jié)中研究循環(huán))。
<script>
var x = 10;
document.write(x); //結(jié)果為10
x++; //x++ 同等 x = x+ 1
document.write(x); //結(jié)果為11
</script>
在上面的代碼中爱谁,x ++將更新x的值并將其增加1.現(xiàn)在讓我們嘗試找到(x ++)和(++ x)之間的區(qū)別
<script>
var x = 10;
document.write(x); //輸出 10
var y = x++;
document.write(y); //輸出 10
document.write(x); //輸出 11
</script>
現(xiàn)在你必須考慮存儲在y中的值應(yīng)該是11晒喷,但是不是x ++意味著首先使用該值,然后將它增加1访敌,這就是為什么++在操作數(shù)之后凉敲。
<script>
var x = 10;
document.write(x); //輸出 10
var y = ++x;
document.write(y); //輸出 11
document.write(x); //輸出 11
</script>
現(xiàn)在你可以觀察到這個變化,現(xiàn)在y中的值存儲是11寺旺,因為++ x意味著先增加值爷抓,然后使用它。
遞減運(yùn)算符( - )
它與(++)運(yùn)算符完全相反阻塑,代替將值遞增1蓝撇,它將該值遞減1,并且使用操作數(shù)的任一側(cè)陈莽。
嘗試自己:為遞減運(yùn)算符編寫上述(++)代碼
一元否定( - )運(yùn)算符
該運(yùn)算符用于創(chuàng)建在操作數(shù)之前使用的負(fù)數(shù)渤昌。例如
<script>
var x = 3;
var y = -3;
document.write(x-y); //輸出 6
</script>
我們已經(jīng)在前面使用過(=)運(yùn)算符,它用于為變量賦值走搁。例如
<script>
var x=3.14;//把 3.14這個數(shù)子賦值給X耘沼;
</script>
類似地,我們有以下分配運(yùn)算符朱盐,列表如下所示群嗤。
等號(=)
添加并賦值(+ =)
減去并賦值( - =)
乘以并賦值(* =)
除以并賦值(/ =)
模數(shù)并賦值(%=)
讓我們看看這些操符的工作原理
添加并賦值運(yùn)算符
讓我們看一個簡單的表達(dá)
var x += 5;
這可能有點混亂,但讓我簡化它兵琳,并為上述代碼寫和等效的表達(dá)式
var x=x+5狂秘;
現(xiàn)在可能看起來很熟悉骇径,實際上(x = x + 5)和(x + = 5)都相同,(+ =)運(yùn)算符將右側(cè)的值添加到左側(cè)的變量者春,然后分配變量的新值破衔。
所有其他分配操作員的工作方式與添加和分配操作符相同。
你們可以自己嘗試:使用JavaScript實現(xiàn)所有剩余的賦值運(yùn)算符
了解比較運(yùn)算符
當(dāng)我們通過比較兩個或多個值進(jìn)行判斷時钱烟,大多數(shù)使用比較運(yùn)算符晰筛,一些比較運(yùn)算符是(>,<拴袭,==读第,!=拥刻,> =怜瞒,<=,===般哼,吴汪!==)你已經(jīng)看到他們中的大多數(shù)在你的數(shù)學(xué)筆記本中,實際上也是一樣的Javascript蒸眠。比較運(yùn)算符返回布爾值true或false漾橙。讓我們舉一個簡單的例子
<script>
var x = 20;
var y = 10;
var z = x > y;
document.write(z); //輸出的結(jié)果是 true
</script>
上面的代碼將打印輸出為true,想要結(jié)果為false只是將表達(dá)式更改為(x<y);
讓我們嘗試在JavaScript代碼中實現(xiàn)一些比較運(yùn)算符
<script>
var x = 20;
var y = 20;
document.write(x > y); //false
document.write(x < y); //false
document.write(x >= y); //判斷等于或者等于, true
document.write(x <= y); //判斷小于或者等于, true
</script>
我們還有幾個比較運(yùn)算符楞卡,如(==近刘,===,臀晃!=和觉渴!==)
讓我們看看他們的意思,
等于運(yùn)算符(==)
該運(yùn)算符用于檢查兩個值是否相等徽惋,例如忽略變量的數(shù)據(jù)類型
<script>
2 == 2 //true
2 == "2" //true, 一個數(shù)字類型2等于一個字符類型的2案淋;結(jié)果是true,這也是操作符中的隱式轉(zhuǎn)換险绘;
2 == 3 //false
</script>
注意:(=)運(yùn)算符用于(=)運(yùn)算符用于賦值時踢京,請注意不要使用(=)運(yùn)算符代替(==)運(yùn)算符。
嚴(yán)格等于操作賦(===)
(===)運(yùn)算符也檢查質(zhì)量宦棺,但不同之處在于它不會忽略數(shù)據(jù)類型
2==="2"http://結(jié)果 false
這是(==)和(===)運(yùn)算符的主要區(qū)別瓣距。
不等于(!=)和嚴(yán)格不等于運(yùn)算符(代咸!==)
這些運(yùn)算符與(==)和(===)運(yùn)算符完全相反蹈丸,這兩個運(yùn)算符例如檢查兩個值的不等式
<script>
var x = 10;
var y = "20";
document.write(x!=y); //輸出 true
</script>
嚴(yán)格不等于運(yùn)算符檢查不等式,不要忽略數(shù)據(jù)類型。
了解邏輯運(yùn)算符
三個邏輯運(yùn)算符允許您比較兩個條件語句逻杖,以查看語句中的一個或兩個是否為真奋岁,并相應(yīng)地進(jìn)行比較。如果您想要一次檢查多個條件并使用結(jié)果荸百,則邏輯運(yùn)算符可能很有用闻伶。像比較運(yùn)算符一樣,邏輯運(yùn)算符也返回true或false够话,這取決于運(yùn)算符兩邊的值蓝翰。
和(&&)運(yùn)算符
使用&&運(yùn)算符的兩邊都為真,邏輯&&運(yùn)算符返回true女嘲。如果運(yùn)算符任一側(cè)的一個或兩個比較為false畜份,則返回false值,看看這個例子
<script>
(23 > 20) && (10 == 10) //兩邊的結(jié)果為真時 得到true
(20 > 10) && (10 == 10) //只要兩邊的結(jié)果有一邊是假澡为,結(jié)果為假
</script>
或(||)運(yùn)算符
如果表達(dá)式的一方都為true,邏輯||運(yùn)算符返回true景埃。如果兩邊都為false媒至,那么||運(yùn)算符返回false。
來看看例子:
<script>
(20 > 10) || (10 == 10) //有一邊是true的 結(jié)果為true
(10 != 10) || (10>18) //兩邊是false 谷徙,結(jié)果更假拒啰,得到的結(jié)果為false
</script>
非(!)運(yùn)算符
該運(yùn)算符基本上將一個返回true的表達(dá)式轉(zhuǎn)換為false完慧,反之亦然谋旦,例如:
<script>
!(10 == 10) //false
!(20 > 18) //return true as it converts false to true
</script>
按位運(yùn)算符
按位運(yùn)算符是處理位(1和0)的運(yùn)算符,我們將在后面的系列中介紹這些類型的運(yùn)算符屈尼。
如果您有任何疑問册着,可以隨時向我們發(fā)表評論,或者在任何社交媒體頁面上與我們聯(lián)系脾歧。
謝謝你的閱讀甲捏。
了解更多資訊請關(guān)注微信公眾號:芒果web 或者微信搜索(javascriptes6)
將您的查詢和反饋發(fā)送到我們的微信公眾號或在我們的QQ群634109637討論。您也可以在下面評論您的問題鞭执。
另外司顿,別忘了訂閱我們。
如果你喜歡這篇文章兄纺,那么請分享一下大溜,幫助我們成長。