首頁 web前端 js教程 JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)_javascript技巧

JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)_javascript技巧

May 16, 2016 pm 05:55 PM
ecmascript 運算符

2.9.5、加性运算符
  加性运算符(即加号和减号)通常是最简单的运算符,不过在ECMAScript中,每个加性运算符都有大量的特殊行为。

  1、加法运算符:

复制代码 代码如下:

var iResult=1+2;
console.log(iResult);//outputs 3

特殊性:

某个运算数是NaN,结果为NaN
Infinity加Infinity,结果为Infinity
-Infinity加-Infinity,结果为-Infinity
Infinity加-Infinity,结果为NaN
如果两个运算数都是字符串,把第二个字符串连接到第一个字符串上
如果只有一个运算数是字符串,把另一个运算数转换为字符串,结果是两个字符串连接成的字符串
  示例:
复制代码 代码如下:

var iResult2=NaN+1;
console.log(iResult2);//NaN

var iResult3=Infinity+Infinity;
console.log(iResult3);//Infinity

var iResult4=-Infinity-Infinity;
console.log(iResult4);//-Infinity

var iResult5="abc"+"bcd";
console.log(iResult5);//abcbcd

var iResult6=5+"5";
console.log(iResult6);//55

2、减法运算符:
复制代码 代码如下:

var iResult=2-1;
console.log(iResult);//1

特殊性:

某个运算数是NaN,结果为NaN
Infinity减Infinity,结果为NaN
-Infinity减-Infinity,结果为NaN
Infinity减-Infinity,结果为Infinity
-Infinity减-Infinity,结果为-Infinity
如果两个运算数都是字符串,结果为NaN
如果只有一个运算数是字符串,把字符串转换为数字再进行运算
  示例:
复制代码 代码如下:

var iResult2=NaN-1;
console.log(iResult2);//NaN

var iResult3=Infinity-Infinity;
console.log(iResult3);//NaN

var iResult4=-Infinity-(-Infinity);
console.log(iResult4);//NaN

var iResult5=-Infinity-Infinity;
console.log(iResult5);//-Infinity

var iResult6=Infinity-(-Infinity);
console.log(iResult6);//Infinity

var iResult7="abc"-"a";
console.log(iResult7);//NaN

var iResult8="5"-5;
console.log(iResult8);//0

var iResult9="a"-5;
console.log(iResult9);//NaN

2.9.6、关系运算符
  关系运算符、=执行的是两个数字的比较运算,返回的是一个Boolean值。如果两个操作数都是字符串,则逐一比较两个字符串的ASC码,如果只有一方是字符串,则把字符串转换为数字后比较,示例如下:
复制代码 代码如下:

var bResult=2console.log(bResult);//false

var bResult="B"console.log(bResult);//true

var bResult="b"console.log(bResult);//false

var bResult="13"console.log(bResult);//true

var bResult=13console.log(bResult);//false

var bResult=-1console.log(bResult);//false

第17行的代码中,"a"被转换为数字时返回的是NaN,任何包含NaN的关系运算都要返回false。

2.9.7、等性运算符
  1、等号和非等号

  在ECMAScript中,等号(==)及非等号(!=)都返回Boolean值。为确定两个运算数是否相等,这两个运算数都会进行类型转换,转换规则如下:

如果一个运算数是Boolean值,在检查相等性之前,把它转换成数字值。false转换成0,true转换成1。
如果一个运算数是字符串,另一个运算数是数字,在检查相等性之前,要尝试把字符串转换成数字。
如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。
如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。
  在进行比较时,运算符还遵循还列规则:

值null和undefined相等
在检查相等性时,不能把null和undefined转换成其他值。
如果某个运算数是NaN,等号将返回false,非等号将返回true。重要提示:即使两个运算数都是NaN,等号仍返回false,因为根据规则,NaN不等于NaN。
如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数把向同一个对象,那么等号返回true,否则两个运算数不等。
  示例:

复制代码 代码如下:

console.log(null==undefined);//true
console.log("NaN"==NaN);//false
console.log(5==NaN);//false
console.log(NaN==NaN);//false
console.log(NaN!=NaN);//true
console.log(false==0);//true
console.log(true==1);//true
console.log(true==2);//false
console.log(undefined==0);//false
console.log(null==0);//false
console.log("5"==5);//true

2、全等号和非全等号

  等号和非等号的同类运算符是全等号和非全等号。这两个运算符所做的与等号和非等号相同,只是它们在检查相等性前,不执行类型转换。全等号由三个等号(===)表示,非全等号由感叹号加两个等号(!==)表示,只有在无需类型转换运算数就相等的情况下,才返回true。例如:
复制代码 代码如下:

console.log("55"==55);//true
console.log("55"===55);//false
console.log("55"!=55);//false
console.log("55"!==55);//true

2.9.8、条件运算符
  条件运算符跟其他语言中的相同:varialbe=boolean_expression?true_value:false_value;
  示例:
复制代码 代码如下:

function Max(iNum1,iNum2){
return iNum1>=iNum2?iNum1:iNum2;
}
console.log(Max(1,3));//3
console.log(Max(3,1));//3

2.9.9、赋值运算符
  简单的赋值运算符由等号(=)实现,只是把等号右边的值赋予等号左边的变量,例如:

var iNum=10;
  复合赋值运算是由乘性运算符、加性运算符或位移运算符加等号(=)实现的。这些赋值运算符是下列这些常见情况的缩写形式:
复制代码 代码如下:

var iNum=10;
iNum=iNum+10;

//等同于
var iNum=10;
iNum+=10;

每种主要的算术运算及其他几个运算都有复合赋值运算符:

乘法/赋值(*=)
除法/赋值(/=)
取模/赋值(%=)
加法/赋值(+=)
减法/赋值(-=)
左移/赋值(有符号右移/赋值(>>=)
无符号右移/赋值(>>>=)
2.9.10、逗号运算符
  用逗号运算符可以在一条语句中执行多个运算。例如:

var iNum=1,iNum2=2,iNum3=3;
  逗号运算符最常用于变量声明中。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1250
24
c語言開根號運算子是什麼 c語言開根號運算子是什麼 Mar 06, 2023 pm 02:39 PM

在c語言中,沒有開根號運算符,開根號使用的是內建函數“sqrt()”,使用語法“sqrt(數值x)”;例如“sqrt(4)”,就是對4進行平方根運算,結果為2。 sqrt()是c語言內建的開根號運算函數,其運算結果是函數變數的算術平方根;此函數既不能運算負數值,也無法輸出虛數結果。

golang 報錯:「invalid use of … operator」 如何解決? golang 報錯:「invalid use of … operator」 如何解決? Jun 24, 2023 pm 05:54 PM

對於Golang開發者來說,「invaliduseof…operator」是一個常見的報錯。這個報錯通常會在使用變長參數函數時出現。它在編譯時就會被檢測出來,並指出哪些部分有問題。這篇文章將介紹如何解決這個報錯。一、什麼是變長參數函數變長參數函數也稱為可變參數函數,是Golang語言中的一種函數型別。使用變長參數函數可以像如下方式定義多個

Java中的%是什麼意思 Java中的%是什麼意思 Mar 06, 2023 pm 04:48 PM

在Java中,「%」是取餘的意思,是一個二元算術運算符,可進行除法運算並取得餘數,語法「操作數1 % 操作數2」。取餘運算子「%」的運算元通常是正整數也可以是負數甚至是浮點數,如果負數參與此運算,則結果的正負取決於前面一個數是正數還是負數。

php中「==」符號的意思是什麼 php中「==」符號的意思是什麼 Mar 14, 2023 pm 07:05 PM

在php中,「==」符號是比較運算符,可以比較兩個運算元是否相等,語法「操作數1 == 運算元2」。 「==」運算子會比較、並測試左邊的變數(表達式或常數)是否與右邊的變數(表達式或常數)具有相同的值;它只比較變數的值,而不是資料類型。如果兩個值相同,則傳回true值;如果兩個值不相同,則傳回false值。

C語言中+=運算子的意義與用法解析 C語言中+=運算子的意義與用法解析 Apr 03, 2024 pm 02:27 PM

+=運算子用於將左操作數的值加上右操作數的值,並將結果賦值給左操作數,適用於數字類型且左操作數必須可寫。

es2017是es6還是es8 es2017是es6還是es8 Oct 27, 2022 pm 05:37 PM

es2017是es8。 es全名為“ECMAScript”,是根據ECMA-262標準實現的通用腳本語言,而由2017年6月正式發布的版本,其正式名為ECMAScript2017(ES2017),因其是ECMAScript的第8個版本,因此可簡稱為es8。

Python 語法的心智圖:深入理解程式碼結構 Python 語法的心智圖:深入理解程式碼結構 Feb 21, 2024 am 09:00 AM

python憑藉其簡單易讀的語法,廣泛應用於廣泛的領域。掌握Python語法的基礎架構至關重要,既可以提高程式效率,又能深入理解程式碼的運作方式。為此,本文提供了一個全面的心智圖,詳細闡述了Python語法的各個面向。變數和資料類型變數是Python中用於儲存資料的容器。心智圖展示了常見的Python資料類型,包括整數、浮點數、字串、布林值和列表。每個資料類型都有其自身的特性和操作方法。運算符運算符用於對資料類型執行各種操作。心智圖涵蓋了Python中的不同運算子類型,例如算術運算子、比

php怎麼判斷兩個數能否整除 php怎麼判斷兩個數能否整除 Jan 10, 2023 pm 03:12 PM

在php中,可以使用「%」和「==」運算子來判斷兩個數能否整除;只需要使用「%」運算子將兩個數相除取得餘數,再使用「==」運算符判斷所獲得的餘數是否為0即可,語法“數1 % 數2 == 0”,若為0則能整除,若不為0則無法整除。

See all articles