亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript中的運算符種類及其規則介紹

2019-11-20 21:56:36
字體:
來源:轉載
供稿:網友
JavaScript中的運算符有很多,主要分為算術運算符,等同全同運算符,比較運算符,字符串運算符,邏輯運算符,賦值運算符等。這些運算符都有一些屬于自己的運算規則,下面就為大家介紹一下JavaScript中的運算符。

  一、JavaScript運算符的種類

  1、算術運算符:+ 、 - 、* 、 / 、 % 、 -(一元取反) 、 ++ 、 --

  2、等同全同運算符:== 、 ===、 !== 、 !===

  3、比較運算符:< 、 > 、 <= 、 >=

  4、字符串運算符:< 、 > 、 <= 、 >= 、 = 、 +

  5、邏輯運算符:&& 、 ||、 !、

  6、賦值運算符:=、 +=、 *=、 -=、 /=

  二、JavaScript運算符的規則

  1、算術運算符規則

  “+”:可以進行“加法”與“連接”運算;如果2個運算符中的一個是字符串,javascript就將另一個轉換成字符串,然后將2個運算數連接起來。

  “+”:如果一個運算數是對象,javascript就會將對象轉換成數字做加法運算或者字符串做連接運算;

  “-”“*”“/” 如果2個運算數中的一個是是非數字,則將它轉化成數字執行數學運算。

  “/” 在javascript中,由于所有的數都是浮點數,除法的結果都是浮點數,5 / 2 = 2.5 ;除數為0的結果為正負無窮;0/0為NaN;

  “%”模運算符:計算第一個運算數對第二個運算數的模,就是第一個運算數被第二個運算數除時,返回余數。如果運算數是非數字的,則轉換成數字。

  “-”一元取反:將運算數取反,如果運算數不是數字,則轉化成數字。

  “++”“--”增量運算符/減量運算符號:運算數必須是一個變量、樹組的一個元素或對象的一個屬性。如果運算數不是數字,則轉換成數字。

  注意:如果“++”位于運算數之前,先對運算數進行增量,然后計算運算數增長后的值。

  如果“--”位于運算數之后,先計算運算數未增長之前的值,然后對運算數增量。

  例如:i = 1; //賦值給i值1

  j = ++i; //先將i增量為2,然后將2賦值給j,i的值是2,j的值也是2。

  i = 1; //賦值給i值1

  j = i++; //先將i賦值給j,然后對將i值增量到2,i的值是2,j的值是1。

  減量運算符“--”與“++”相同。

  2、等同運算符與全同運算符

  (I)“==”“!==”等同運算符與非等同運算符:

  比較2個運算數,返回一個不布爾值。

  比較數值、字符串、布爾值使用的都是量值。當且僅當兩個變量存放的值相等的時候,他們才相等。

  比較對象、數組、函數的時候,使用的是引用,只有2個變量引用的是同一個對象時,他們才是相等的。兩個不同的數組是完全不同的,即使他們具有完全相同的元素。對于存放對象、數組、函數的引用的變量來說,只有當他們引用的是同一個對象、數組、函數的時候,他們才相等。

  注意!應遵循的原則:

  當兩個運算數的類型不同時:將他們轉換成相同的類型,

  1)一個數字與一個字符串,字符串轉換成數字之后,進行比較。

  2)true轉換為1、false轉換為0,進行比較。

  3)一個對象、數組、函數 與 一個數字或字符串,對象、數組、函數轉換為原始類型的值,然后進行比較。(先使用valueOf,如果不行就使用toString)

  4)其他類型的組合不星等。

  想兩個運算數類型相同,或轉換成相同類型后:

  1)2個字符串:同一位置上的字符相等,2個字符串就相同。

  2)2個數字:2個數字相同,就相同。如果一個是NaN,或兩個都是NaN,則不相同。

  3)2個都是true,或者2個都是false,則想同。

  4)2個引用的是同一個對象、函數、數組,則他們相等,如果引用的不是同一個對象、函數、數組,則不相同,即使這2個對象、函數、數組可以轉換成完全相等的原始值。

  5)2個null,或者2個都是未定義的,那么他們相等。

  “!=”非等同運算符:與等同運算符檢測的結果相反。

  (II)“===”“!===”全同運算符與非全同運算符號:

  全同運算符遵循等同運算符的比較規則,但是它不對運算數進行類型轉換,當兩個運算數的類型不同時,返回false;只有當兩個運算數的類型相同的時候,才遵循等同運算符的比較規則進行比較。

  “!==”非全同運算符與全同運算符比較的結果相反。如果兩個運算數的類型或者值不同的時候,返回true。

  3、比較運算符

  這些比較運算符用于比較不同類型的值,結果返回一個布爾值。

  “<”“>”“<=”“>=”

  注意規則:比較的運算數可以是任意類型的,但是只能在數字和運算數上執行。不是數字和字符串的運算數將被轉換成數字或字符串。

  1)如果兩個運算數都是數字,或者都可以轉換成數字,則按照數字的大小進行比較;

  2)如果兩個運算數都是字符串,或者都可以轉換成字符串,則將按照字母順序進行比較;

  3)如果字符串遇到數字,則將字符串轉換成數字進行比較。

  4)如果運算數既不能轉換成數字,也不能轉換成字符串,則返回結果false。

  4、字符串運算符

  并沒有專用的字符串運算符,只是有些運算符在遇到字符串運算數的時候,表現不同。

  (I)“+”連接2個字符串;

  1)當2個運算數都是字符串的時候,連接起來;

  2)當其中有一個是數字的時候,將數字轉換成字符串,連接起來;

  (II)“>”這樣的比較運算符通過比較確認兩個字符串的順序,比較采用字符的順序,較小的位于教大的前面,大寫字母位于小寫字母之前。

  (III)“+”的作用方法取決于計算順序,

  如:s = 1 + 2 +"var" 則:返回結果3var; 因為先計算1+2,然后將結果3轉換成字符串與"var"連接;

  如:s = "var" + 1 + 2 則:返回結果var12; 因為先計算var與1的連接,在將結果var1與轉換成字符串的2連接起來。

  5、邏輯運算符

  用于執行布爾運算,常常和比較運算符一起使用,來表示復雜的比較運算。

  “&&” 邏輯與運算、“||”邏輯或運算符、“!”邏輯非運算符

  (I)“&&”當兩個運算數都是布爾值的時候,邏輯與對他們進行and操作,即:當且僅當兩個布爾值都是true的時候,返回結果true,否則返回false。

  注意:實際表現

  “&&”將檢測第一個表達式運算數布爾值,如果第一個運算數表達式返回false,則返回左邊第一個運算數表達式的值:false;否則將繼續檢測第二個即右邊的運算數表達式,然后返回第二個運算數表達式的值;

  例如:if (a = b) stop(); 與 (a = b) && stop(); 等價

  不贊成使用這個方法,因為運算符右邊的代碼不能保證會被執行,

  例如:if ((a < b) && (b++ <10) ) stop();如果運算符右邊的增量必須的話,卻有可能由于前面的返回值而不被執行,一般反對在&&的右邊使用具有其他作用的表達式(賦值、函數調用、增減量);

  將“&&”看作是一個布爾代數的運算符,會更簡單與安全。

  (II)“||”當兩個運算數都是布爾值的時候,邏輯或對他們進行or操作,即:當兩個布爾值有一個是true的時候,返回結果true,否則返回false。

  注意:實際表現

  “||”將檢測第一個表達式運算數布爾值,如果第一個運算數表達式返回true,則返回左邊第一個運算數表達式的值:true;否則將繼續檢測第二個即右邊的運算數表達式,然后返回第二個運算數表達式的值;

  同樣不贊成使用這個方法,因為運算符右邊的代碼不能保證會被執行,

  一般反對在||的右邊使用具有其他作用的表達式(賦值、函數調用、增減量);

  將“||”看作是一個布爾代數的運算符,會更簡單與安全。

  (III)“!”邏輯非是一個一元運算符,放在運算數之前,它的目的是對運算數取反。

  6、賦值運算符

  (I)“=”是賦值運算符;他總是期望左邊的運算數是一個變量、數組的一個元素或對象的一個屬性;

  期望右邊是一個任意類型的任意的值;

  從右到左的結合性,如果一個表達式中有多個賦值運算符,則從最右邊開始計算。

  注意:每一個賦值表達式都有一個值,就是運算符右邊的值;

  (II)可以使用帶操作的賦值運算

  “+=” 左邊的值加上右邊的值后,賦值于左邊的值?!?=”“/=”“*=”方法一樣;

  7、其他運算符

  “?:”條件運算符是唯一的一個三元運算符;

  一個表達式的布爾結果?表達式1(任意類型的任意值):表達式2(任意類型的任意值);

  根據第一個運算數的布爾值結果,如果為true,則執行第二個運算數表達式,返回第二個運算數表達式的值;如果第一個運算數的布爾值結果是false,則執行第三個運算數表達式,返回第三個運算數表達式的值。

  三、JavaScript運算符的注意

  1、要注意傳遞給運算符的數據類型和返回的數據類型!不同的運算符都期望它的運算數表達式計算出的結果符合某種數據類型。

  例如:對字符串是不能進行乘法運算的,"a" * "b" 是不合法的,但是,在可能的情況下,javascript會把表達式轉換成正確的類型,因此,表達式 "3" * "5" 是合法的,javascript將字符串轉換成數字執行運算,結果返回的是數字15,而不是字符串"15"。

  2、+ 根據運算數的不同,具有不同的表現:

  字符串 + 字符串 = 字符串(被連接);"a" + "b" = "ab" "5" + "6" = "11"

  字符串 + 數字 = (字符串轉換成數字)字符串(被連接);"a" + 5 = "a5" 5被轉換成字符串 "1" + 0 = "10"

  數字 + 數字 = 數字(相加)5 + 5 = 10。

  3、注意運算符的結合性,有些運算符從左到右的結合性;有些從右到左結合性。

  例如:w = a + b + c 等同于 w = (a + b) + c;

  w = ---b 等同于 w = - ( - ( -b ) ); w = a = b = c 等同于 w= ( a = ( b = c ))

  一元運算符、賦值運算符、三元運算符的結合性是從右到左的;

  JavaScript的運算符就為大家介紹到這里了,希望能對大家在日常中有所幫助。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕在线观看日韩| 欧美国产在线视频| 亚洲九九九在线观看| 92国产精品久久久久首页| 亚洲国产天堂网精品网站| 国产剧情日韩欧美| 国产亚洲欧洲高清| 日韩av资源在线播放| 国产美女久久精品| 亚洲精品99久久久久中文字幕| 国产精品999999| 久久久www成人免费精品张筱雨| 亚洲va码欧洲m码| 精品日本美女福利在线观看| 久久久久久久国产精品视频| 亚洲欧洲偷拍精品| 黑人巨大精品欧美一区二区免费| 亚洲偷欧美偷国内偷| 国产欧美日韩中文字幕在线| 欧美激情一区二区三区在线视频观看| 97久久精品人人澡人人爽缅北| 国产精品久久久久久久久影视| 国产精品久久久久秋霞鲁丝| 中文字幕欧美日韩在线| 青青在线视频一区二区三区| 午夜精品视频网站| 中文字幕在线亚洲| 国产高清视频一区三区| 国产精品久久一区主播| 久久国产精品99国产精| 亚洲精品国精品久久99热| 国内偷自视频区视频综合| 国产精品免费久久久久久| 精品亚洲一区二区三区在线播放| 一区二区三区动漫| 欧洲美女7788成人免费视频| 欧美成人国产va精品日本一级| 日韩精品中文字幕在线观看| 久久夜色精品国产亚洲aⅴ| 午夜精品美女自拍福到在线| 欧美视频专区一二在线观看| 国产91九色视频| 亚洲国产精品成人一区二区| 亚洲第一区在线| 久热精品视频在线观看一区| 欧美激情第6页| 国产精品国产福利国产秒拍| 国产精品丝袜视频| 久久久亚洲天堂| 国产一区二区三区中文| 91精品久久久久久久久青青| 日本欧美一二三区| 日韩成人av一区| 久久综合五月天| 久久久久久久一| 国产精品1区2区在线观看| 91av免费观看91av精品在线| 日韩欧美成人精品| 国产美女久久精品香蕉69| 久久久久一本一区二区青青蜜月| 国产视频久久久久久久| 日韩av在线影视| 亚洲国产成人在线视频| 欧美精品少妇videofree| 日韩精品在线私人| 欧美丰满少妇xxxx| 欧美黑人xxx| 久久成人亚洲精品| 久久亚洲综合国产精品99麻豆精品福利| 欧美日韩一区二区免费在线观看| 亚洲成avwww人| 日韩成人在线视频观看| 精品国产一区二区三区久久久狼| 亚洲石原莉奈一区二区在线观看| 亚洲最大激情中文字幕| 国产一区二区美女视频| 欧美性黄网官网| 久久久久久国产精品久久| 久久69精品久久久久久国产越南| 日韩精品日韩在线观看| 国产精品欧美在线| 久久久电影免费观看完整版| 久久久久久久91| 欧美激情精品久久久久| zzjj国产精品一区二区| 成人精品福利视频| 亚洲午夜激情免费视频| 亚洲美女精品久久| 欧美最猛性xxxxx免费| 久久久久免费精品国产| 91国偷自产一区二区三区的观看方式| 日韩视频第一页| 国产一区二区三区毛片| 免费av一区二区| 国产精品88a∨| 国产区亚洲区欧美区| 另类视频在线观看| 2020国产精品视频| 亚洲精品免费一区二区三区| xxxxx91麻豆| 国产精品对白刺激| 深夜福利亚洲导航| xxx欧美精品| 国产日韩在线看片| 成人精品在线观看| 丝袜美腿精品国产二区| 2018中文字幕一区二区三区| 亚洲免费一级电影| 国产欧美在线视频| 97视频在线观看视频免费视频| 成人国产精品一区二区| 日本a级片电影一区二区| 欧美理论电影在线观看| 久久久久久久久久久成人| 国产精品成人免费电影| 中文字幕av一区| 国产精品日日做人人爱| 欧美视频在线免费| 久久艹在线视频| 国产成人亚洲综合青青| 欧美成人中文字幕在线| 伊人青青综合网站| 国产日产亚洲精品| 欧美多人乱p欧美4p久久| 欧美丰满片xxx777| 久久国产精品电影| 日韩国产精品亚洲а∨天堂免| 国产精品精品视频一区二区三区| 亚洲第一网站男人都懂| 久久综合网hezyo| 久久久av免费| 国产成人在线播放| 欧美日韩免费区域视频在线观看| 久久久久久综合网天天| 国产精品视频专区| 69视频在线免费观看| 欧美成人免费在线观看| 一区二区三区回区在观看免费视频| 国产午夜精品全部视频在线播放| 亚洲欧美三级伦理| 国产亚洲视频在线| 国产在线观看精品一区二区三区| 国产精品影片在线观看| 欧美电影免费观看高清完整| 日韩av综合中文字幕| 最近2019好看的中文字幕免费| 91福利视频在线观看| 日韩精品黄色网| 久久国产精品久久久久久久久久| 狠狠色狠狠色综合日日五| 欧美性视频网站| 自拍偷拍亚洲在线| 亚洲女性裸体视频| 亚洲少妇中文在线| 欧美与欧洲交xxxx免费观看| 国产欧美最新羞羞视频在线观看| 最近日韩中文字幕中文| 午夜剧场成人观在线视频免费观看| 日韩高清av在线| 96精品久久久久中文字幕| 狠狠躁夜夜躁人人躁婷婷91| 国产视频精品在线| 欧美日韩第一视频| 97国产精品久久|