從未有過的JavaScript運算符詳細解釋

解釋性語言和編譯型語言

1.概述

計算機不能直接理解除機器語言以外的語言,所以要把程序員所寫的編程語言翻譯成機器語言才能被執行程序,程序語言翻譯成機器語言的工具,被稱為翻譯器

在這裡插入圖片描述

  • 翻譯器翻譯的方式有兩種:一種是編譯,一種是解釋,兩種方式之間的區別在於翻譯的時間點不同
  • 編譯器是在代碼執行之前,生成中間代碼文件
  • 解釋器是在運行時進行及時解釋,並立即執行(當編譯器以解釋方式運行的時候,也稱之為解釋器)

2.執行過程

在這裡插入圖片描述

類似於請客吃飯

  • 編譯語言:首先先把所有菜上齊瞭,才能吃飯
  • 解釋語言:好比吃火鍋,邊吃邊涮,同時進行

標識符,關鍵字,保留字

(一)標識符

標識符:就是指開發人員為變量,屬性,函數,參數取的名字(自定義)

註意:標識符:不能是關鍵字或者保留字

(二)關鍵字

關鍵字:是指JS本身已經使用瞭的字,不能再把它充當變量名,方法名。(一旦使用就是在制造BUG)

包括:break,case,catch,continue,default,delete,do,else,finally,for,function,if,in,instanceof,new,return,switch,this,throw,try,typeof,var,void,while,with等。

(三)保留字

保留字:實際就是預留的“關鍵字”,意思是現在 雖然不是關鍵字,但是別人是潛力股,未來可能成為關鍵字,同樣不能使用它們當變量名或方法名

包括:abstract,enum,int,short,boolean,export,interface,static,byte,extends,long,super,char,final,native,synchronized,class,float,package,throws,const,goto,private,transient,debugger,implements,protected,volatile,double,import,public等。

運算符

運算符:也被稱為操作符,是用於實現賦值,比較和執行算數運算等功能的符號。

js中常用的運算符有

  • 算數運算符
  • 遞增和遞減運算符
  • 比較運算符
  • 邏輯運算符
  • 賦值運算符

算術運算符

概念:算術運算使用的符號,用於執行兩個變量或值的算術運算。

運算符 描述 實例
+ 10+20=30
120-10=110
* 10*20=200
/ 10/20=0.5
% 取模(取餘數) 得到的是除法的餘數 9%2=1

浮點數的精確度問題

浮點數的最高精確度是17位小數,但是在進行算術計算時其精確度遠遠不如整數、

var result=0.1+0.2;
console.log(result);//結果不是 0.3,而是0.30000000000000004
console.log(0.07*100);//7.000000000000001,而是7.000000000000001

所以:不要直接判斷兩個浮點數是否相等

表達式和返回值

表達式:是由數字、運算符、變量等以能求得數值的有意義排列方法所得的組合

簡單理解:是由數字、運算符、變量等組成的式子

遞增和遞減運算符概述

如果需要反復給數字變量添加或減去1。可以使用遞增( ++ )和遞減( – )運算符來完成。

在JavaScript中,遞增( ++ )和遞減( – )既可以放在變量前面。也可以放在變量後面。放在變量前面時,

我們可以稱為前置遞增(遞減)運算符,放在變量後面時,我們可以稱為後置遞增(遞減)運算符。

註意:遞增和遞減運算符必須和變量配合使用。

遞增運算符

前置遞增運算符

++num前置遞增,就是自加1,類似於num=num+1,但是++num寫起來更簡單。

使用口訣:先自加,後返回值

後置遞增運算符

++num前置遞增,就是自加1,類似於num=num+1,但是num++寫起來更簡單。

使用口訣:先自加,後返回值

var age=10;
console.log(age);//10
++age;
console.log(age);//11
var p=10;
console.log(++p+10);//21
//先加1後返回值(返回初始的值)
//後置++
var num=10;
num++;
console.log(num);//11
//單獨使用自增自減,效果一樣
		
var number=10;
//先返回值(返回初始的值),再加+
console.log(number++ +10);//20
console.log(number);//11
		

比較運算符概述

概念:比較運算符是兩個數據進行比較時所使用的運算符,比較運算後,會返回一個佈爾值(true/false)作成運算結果

運算符 說明 案例 結果
< 小於 1<2 true
> 大與 1>2 false
> = 大於等於 2>=2 true
< = 小於等於 3<=2 false
== 判等號(會轉型) 37=37 true
!= 不等號 37!=37 false
=== !== 全等 要求值和數據類型都一致 37===‘37’ false

=小結

符號 作用 用法
= 賦值 把右邊給左邊
== 判斷 判斷兩邊值是否相等(註意此時有隱式轉換)
=== 全等 判斷兩邊的值和數據類型是否完全相同

代碼演示

console.log(3>=5);
		console.log(2<=4);
		//1.我們程序裡的等於符號,是默認轉換類型,會把字符串的數據類型轉換為數字型隻要求值相等就可以瞭
		console.log(3==5);
		console.log('黃茂榮'=='黃茂雲');
		console.log(18=='18');
		consjole.log(18!=18);
		//2.我們程序裡面有全等一模一樣,要求兩側的值,還有數據類型完全一樣才可以
		console.log(18===18);
		console.log(18 === '18');

結果如圖

在這裡插入圖片描述

邏輯運算符

概念:邏輯運算符是用來進行佈爾值運算的運算符,其返回值也是佈爾值,後面開發中經常用於多個條件的判斷

邏輯運算符 說明 案例
&& “邏輯與”,簡稱"與" and true&&false
|| “邏輯或”,簡稱"或" or true||false
“邏輯非”,簡稱"非" not !true
	//1.邏輯與&& and兩側都為true結果才是true 隻要有一側為false結果就為false
	console.log(3>5&&3>2);//false
	console.log(3<5&&3>2)//true
	//2.邏輯或 ||  or 兩側都為false 結果才是false 隻有一側為true ,結果就是true
	console.log(3>5||3>2)//true
	console.log(3>5||3<2);//false

短路運算(邏輯中斷)

短路運算的原理:當有多個表達式(值)時,左邊的表達式值可以確定結果時,就不在繼續運算右邊的表達式的值

1.邏輯與

語法:表達式1&&表達式2

如果第一個表達式的值為真,則返回表達式2

如果第一個表示式的值為假,則返回表達式1

2.邏輯或

語法:表達式1||表達式2

如果第一個表達式的值為真,則返回表達式1

如果第一個表達式的值為假,則返回表達式2

//1.用我們的佈爾值參與的邏輯運算  true&&false==false
		//2.123&&456 是值或者是表達式參與瞭邏輯運算?
		//3.邏輯與短路運算,如果表達式1 結果為真 ,則返回表達式2,如果表達式1為假,那麼返回表達式1
		//除0以外的數都為真
		console.log(1233&&2344);
		console.log(0&&352);
		console.log(0&&1+2&&456+8789);
		//如果有空的或者否定的為假,其餘為真   
		 //(0,'',null,undefined,NaN)空
		//4.邏輯或短路運算   如果表達式1為真 結果為真 則返回的是表達式1 如果表達式1 結果為假 則返回的是表達式2
		console.log(123||456);//123
		console.log(123||456||+123);//123
		//邏輯中斷很重要,它會影響我們程序運行的結果
		var num=11;
		console.log(123||num);//123
		console.log(0||num);//11
		console.log(num);//11

賦值運算符

概念:用來把數據賦值給變量的運算符

賦值運算符 說明 案例
= 直接賦值 var userName=‘我是黃茂榮’;
+= ,-= 加,減一個數後賦值 var age=10; age+=5; //age=15
*=,/=,%= 乘,除,取模後賦值 var age=2; age*=5;//age=10

優先級

優先級 運算符 順序
1 小括號 ()
2 一元運算符 ++,–,!
3 算數運算符 先*,/ %後+ –
4 關系運算符 > > = < < =
5 相等運算符 == != === !==
6 邏輯運算符 先&& 後||
7 賦值運算符 =
8 逗號運算符 ,

總結

運算符 | > > = < < = |
| 5 | 相等運算符 | == != === !== |
| 6 | 邏輯運算符 | 先&& 後|| |
| 7 | 賦值運算符 | = |
| 8 | 逗號運算符 | , |

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: