JavaScript運算符

1.運算符總結(jié)

? 一元運算符
? 算數(shù)運算符
? 位操作符
? 關(guān)系操作符
? 相等運算符
? 邏輯運算符
? 位操作符*

2.乘法運算符

乘法運算符規(guī)則及案例.png

乘法案例.png

3.除法運算符

除法運算符及案例.png
// 1绩蜻、 如果是兩個正常的數(shù)字運算章办,那就按照數(shù)學的除法運算得到結(jié)果寡喝。
var t0 = 9 / 3; // 3
var n1 = -999999e4000;
var n2 =0.00000000000000000000000000000000000000000000000000000000000001;
var t = n1 / n2;
console.log(t); // => -Infinity
// n1 / n2 的結(jié)果超出了 es 的數(shù)值的表示范圍邓深,那么結(jié)果就是Infinity
// 2雹舀、 如果一個操作數(shù)是 NaN 那么結(jié)果一定是 NaN
var n3 = NaN;
var t2 = n1 / n3; // => NaN
var t3 = n3 / n2; // => NaN
// 3续膳、 如果是 Infinity 和 Infinity 進行相除結(jié)果是 NaN
console.log(Infinity / Infinity); // => NaN
// 4民逼、 0 / 0 ,0 被除吩案,如果是 0 那么結(jié)果是 NaN霍殴,如果不是 0 那么結(jié)果我就是 Infinity
console.log( 0 / 0 ); // => NaN
console.log( '9/0=' + (-9 / 0 )); // => -Infinity
// 5媒惕、 如果 Infinity 除以任何數(shù),結(jié)果都是 [-]Infinity
console.log('Infinity / 8 = ' + (Infinity / 8)); //=>Infinity

4.求余運算符

求余運算符規(guī)則及案例.png

5.自增自減運算符

自增運算符来庭,用兩個連續(xù)的+號妒蔚。比如: ++i t++. 如果兩個加號在變量前面,先進行自增運算再進行表達
式運算月弛。不然肴盏,先進行表達式運算,后進行自增運算帽衙。
var i = 9;
i++; // 自增運算符菜皂, 自己增加 1
// i = i + 1;
console.log( i ); // =>10
// 自加運算符在前面的時候,先進行自加運算厉萝,再參與表達式的運算恍飘。
++i; // i = i + 1;
console.log( i ); // =>11
// var i2 = ++i + 3; // i = 11, ++i > 12 12+3=>15
// console.log(i2)
var i2 = (i++) + 3; // i = 11, i + 3 > 14 ,最后在讓 i= i+1;
console.log(i2); // => 14
var t = 11;
t--;
// t = t -1; // 自減運算符 ,自己減 1
console.log(t)
自減同自加冀泻,不再贅述常侣。

6.加法運算符

加法的二義性:
    加法運算分為: 字符串連接運算和算數(shù)加法運算。當運算的變量中有字符串的時候優(yōu)先字符串連接弹渔,
                  后考慮算法運算胳施。
var a = 1 + 2; // a =>3 算數(shù)運算加法
var a = "我是" + "老馬"; // a = "我是老馬" 字符串連接
一元加法運算:
    當操作數(shù)只有一個的時候,+法運算符肢专,就是把操作數(shù)使用 Number 函數(shù)進行轉(zhuǎn)成數(shù)值類型舞肆。
比如:
var a = 1 + "22"; //=> a="122",字符串連接操作
var t = ‘23’;
var m = +t; // m => 23 數(shù)字
// 等價于: m = Number(t);

7.減法運算符

減法運算符:只有數(shù)學減法運算焦辅。不具備字符串鏈接功能。
比如: var t = 3 - '2'; // => 1
減法運算符也具備將變量轉(zhuǎn)換為數(shù)值類型的作用
減法運算符規(guī)則.png

減法案例.png

8.布爾相關(guān)的運算符

關(guān)系運算符
關(guān)系運算符返回的都是 boolean 類型結(jié)果椿胯。
大于 >
2 > 3 //false
"32" > "223" // true,字符串比較的是字符串的編碼大小筷登。
小于 <
2 < 3 //true
小于等于 <= var a = 22, b = 22; a<=b//true
大于等于 >= 22 >22 //true 33>=22 //true
邏輯運算符的規(guī)則
如果兩個數(shù)都是數(shù)值,則執(zhí)行數(shù)值比較
如果兩個數(shù)都是字符串,則比較兩個字符串對應(yīng)的字符編碼值
如果一個操作數(shù)是數(shù)值,則將另一個操作數(shù)作為一個數(shù)值,然后執(zhí)行數(shù)值比較
如果一個操作數(shù)是對象,則調(diào)用這個對象的valueOf()方法,用得到的結(jié)果按照前面的規(guī)則執(zhí)行比較。如果對
象沒有valueOf()方法,則調(diào)用toString()方法,并用得到的結(jié)果根據(jù)前面的規(guī)則進行比較.
如果操作數(shù)是布爾值,則先將其轉(zhuǎn)換為數(shù)值,然后再執(zhí)行比較
邏輯運算符案例.png
Ascii 碼表地址:

https://baike.baidu.com/item/ASCII/309296?fr=aladdin&fromid=19660475&fromtitle=ascii%E7%A0%81%E8%A1%A8

9.邏輯操作符

邏輯非
  邏輯非的符號用“哩盲!”取相反的意思前方。 比如: var a = true; a = !a; //a = false;
邏輯與
  邏輯與是用兩個“&&”符號運算
  var a = true, b = true; a&&b;//true
  同時為真時才返回 true,其他 false
邏輯或
  用兩個豎線連接兩個變量運算(||)
  var a = true, b = true; a||b //true
  兩個變量只要有一個為真廉油,那么就返回 true惠险。
&&短路表達式 *** 由于進行邏輯運算的變量不一定都是 Boolean 類型
非 Boolean 類型的&&邏輯運算返回第一個為假值或者最后一個真值的操作數(shù)(直接量、表達式)的值抒线,可
以不是 Boolean 類型班巩。
比如:
89 && (9 < 3) // => true
0 && 98 // => 0, 注意不是 false
null && 1 // => null
類似短路表達式,||運算符可以返回第一個真值或者最后一個假值嘶炭。
|| 類型安全返回處理
有的時候為了防止變量為空抱慌,可以設(shè)置一個保底的結(jié)果。
t = max || max-width || 500;
邏輯案例.png

10.相等運算符

數(shù)值相等 == 類型可以不相同眨猎,值相等就可以抑进。
var a = 3, b = "3"; a==b;//true
不等于 != 值不等就返回 true,值相等就直接返回 false
3!=4 //true
3 != "3" //false
特殊情況:
NaN 跟任何其他變量都不等宵呛,甚至不等于自己单匣。
NaN != NaN//true
null == undefined 都是空的意思夕凝。
全等運算符 === 全等就是數(shù)值相等而且類型相同宝穗。
55 =="55" //true
55 === "55" //false,值轉(zhuǎn)換后相等,但是類型不同码秉。
不全等運算符 !== 只要類型不同或者值不等那么就返回 true

11. 條件運算符

條件運算符: 判斷值表達式 逮矛?true 返回值 1 :false 返回值 2。
var b = a > 3 ? 2 : 1; //語義:a 大于 3 嗎转砖?如果大于返回 2须鼎,如果不大于返回 1;
var b = 判斷表達式 府蔗? 值 1 : 值 2晋控;
當判斷表達式為 true 的時候,返回值 1姓赤。

12.賦值運算符

等號赡译,就是最常用的賦值運算符。
var a = 9;
var a = 9, b = 3, c =4;
賦值和算數(shù)運算符結(jié)合簡寫
a = a + 10;//當+-*/運算符跟自己進行運算時可用簡寫成
a += 10;// 跟 a = a + 10 效果一樣不铆。
a *= 2; a -= 3; a/= 3; 4%=2;

13.逗號運算符

逗號運算符蝌焚,可用讓 js 在一條語句中執(zhí)行多次操作裹唆。
比如:
var a = 2, b = 3, c =4;//一次性定義 3 個變量,并分別給變量賦值只洒。 逗號運算符在用于賦值操作的
時候许帐,永遠只返回最后一個值
比如:
a = (2,3,4);//a=4

14.運算符的優(yōu)先級

? 結(jié)合性:
    ? 一元+,一元減毕谴,后置++成畦,后置--,涝开!求反羡鸥,typeof,=賦值忠寻,+=惧浴,*=,/=,%= 是從右向左結(jié)合奕剃,
      其他都是從左向右結(jié)合衷旅。
    ? +a; -c; a++; c--; !true; typeof a; a=b=c=9;
    ? 其他的都是:從左向右結(jié)合。比如: c = a+b;
? 優(yōu)先級
    ? 第一級:() 圓括號 =>(a+b)*c 先運算a+b
    ? 第二級:后置遞增和遞減 a++ b--
    ? 第三級:邏輯纵朋!柿顶,一元+-,前置遞增和遞減操软,typeof
    ? 第四級:* / %
    ? 第五級:二元+ -
    ? 第六級:< > >= <= =>a+b > c*d
    ? 第七級: && || => a>b || c<d
    ? 第八級: 嘁锯? : 條件運算符 => c= a && b ? 1: 2
    ? 第九級: 賦值運算符 = += *= -= /= %=
    ? 第十級:逗號 a = 1, b = 2;

15.綜合練習

題目:
var a = '1', b = 3, c = true;
求下面的值:
a > b => false 轉(zhuǎn)數(shù)字比較
a >= c => false 轉(zhuǎn)成字符比較
!(b) => false
!!a => true
a+b => '13'
b + c => 4
b - a => 3-1 =>2
b && a => true
!(a || b) => false
a > b && c < a =>false
+c =>1
++a+c => 3
++b + 'ssss' =>'4ssss'
6 / 0 => Infinity
NaN * 0 =>NaN
b > c ? ++a: c; =>3
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市聂薪,隨后出現(xiàn)的幾起案子家乘,更是在濱河造成了極大的恐慌,老刑警劉巖藏澳,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仁锯,死亡現(xiàn)場離奇詭異,居然都是意外死亡翔悠,警方通過查閱死者的電腦和手機业崖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蓄愁,“玉大人双炕,你說我怎么就攤上這事〈樽ィ” “怎么了妇斤?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我趟济,道長乱投,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任顷编,我火速辦了婚禮戚炫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘媳纬。我一直安慰自己双肤,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布钮惠。 她就那樣靜靜地躺著茅糜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪素挽。 梳的紋絲不亂的頭發(fā)上蔑赘,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音预明,去河邊找鬼缩赛。 笑死,一個胖子當著我的面吹牛撰糠,可吹牛的內(nèi)容都是我干的酥馍。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼阅酪,長吁一口氣:“原來是場噩夢啊……” “哼旨袒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起术辐,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤砚尽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后术吗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尉辑,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡帆精,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年较屿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卓练。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡隘蝎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出襟企,到底是詐尸還是另有隱情嘱么,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布顽悼,位于F島的核電站曼振,受9級特大地震影響几迄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜冰评,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一映胁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧甲雅,春花似錦解孙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至妖枚,卻和暖如春廷臼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绝页。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工中剩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人抒寂。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓结啼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親屈芜。 傳聞我的和親對象是個殘疾皇子郊愧,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言属铁。Java 技術(shù)具有卓越的通用性、高效性躬翁、平臺移植性和...
    Java小辰閱讀 609評論 0 1
  • 運算符 JavaScript中運算符主要用于連接簡單表達式焦蘑,組成一個復(fù)雜的表達式。常見的有算數(shù)表達式盒发、比較表達式例嘱、...
    阿魯提爾閱讀 281評論 0 1
  • 算術(shù)運算符 如果操作數(shù)(或者轉(zhuǎn)換結(jié)果)是NaN值,算術(shù)運算的結(jié)果也是NaN宁舰。除數(shù)為0的運算結(jié)果為正無窮大或負無窮大...
    kissLife閱讀 443評論 0 3
  • 老馬拼卵,等我給你照片。 小作坊馬上就可以開始了蛮艰。 想你腋腮。
    王賤賤述閱讀 145評論 0 0
  • 笑來,謝謝你。
    大眼瑜閱讀 241評論 2 1