javascript
JavaScript基础3——关于运算符
- 算數運算符
算數運算符有+、-、*、/、%、++、--、=、類似+=的運算符,其使用方式與編程語言(Java、C++、C#等)基本一樣。給定 y=5,下面的表格解釋了這些算術運算符:
| + | 加 | x=y+2 | x=7 |
| - | 減 | x=y-2 | x=3 |
| * | 乘 | x=y*2 | x=10 |
| / | 除 | x=y/2 | x=2.5 |
| % | 求余數 (保留整數) | x=y%2 | x=1 |
| ++ | 累加 | x=++y | x=6 |
| -- | 遞減 | x=--y | x=4 |
下面主要演示+運算符(字符串連接符):
?
1 <script type="text/javascript"> 2 3 i=5+5; 4 5 document.write("i的值是:"+i+"<br>");//10 6 7 i="5"+"5"; 8 9 document.write("i的值是:"+i+"<br>");//55 10 11 i=5+"5"; 12 13 document.write("i的值是:"+i+"<br>");//55 14 15 </script>- 位運算符
位運算符主要包括(~(非運算)、&(與運算)、|(或運算)、^(異或運算))。
1 <script type="text/javascript"> 2 3 var iNum1 = 25; //25 等于00000000000000000000000000011001 4 5 var iNum2 = ~iNum1;// 轉換為11111111111111111111111111100110 6 7 document.write(iNum2+"<br>");//輸出 "-26" 8 9 var iResult = 25 & 3; 10 11 /* 12 25 = 0000 0000 0000 0000 0000 0000 0001 1001 13 3 = 0000 0000 0000 0000 0000 0000 0000 0011 14 --------------------------------------------- 15 AND = 0000 0000 0000 0000 0000 0000 0000 0001 16 */ 17 18 document.write(iResult+"<br>");//輸出 "1" 19 20 var iResult = 25 | 3; 21 22 /* 23 25 = 0000 0000 0000 0000 0000 0000 0001 1001 24 3 = 0000 0000 0000 0000 0000 0000 0000 0011 25 -------------------------------------------- 26 OR = 0000 0000 0000 0000 0000 0000 0001 1011 27 */ 28 29 document.write(iResult+"<br>");//輸出 "27" 30 31 var iResult = 25 ^ 3; 32 33 /* 34 25 = 0000 0000 0000 0000 0000 0000 0001 1001 35 3 = 0000 0000 0000 0000 0000 0000 0000 0011 36 --------------------------------------------- 37 XOR = 0000 0000 0000 0000 0000 0000 0001 1010 38 */ 39 40 document.write(iResult+"<br>");//輸出 "26" 41 42 </script>- Boolean運算(!(求反運算)、&&(與運算)、||(或運算))
對boolean值進行的運算,與編程語言的運算方式基本一致。
- 關系運算(<、>、<=、>=、==、!=)
- 等性運算符(==、===、!=、!==)
下表是一些特殊情況的值:
| 表達式 | 值 | 表達式 | 值 | 表達式 | 值 |
| null==undefined | true | “NaN”==NaN | false | 5==NaN | false |
| NaN==NaN | false | NaN!=NaN | true | false==0 | true |
| true==1 | true | true==2 | false | undefined==0 | false |
| null==0 | fale | “5”==5 | true | ? | ? |
全等號由三個等號表示(===),只有在無需類型轉換運算數就相等的情況下,才返回 true。
1 <script type="text/javascript"> 2 3 var i = "66"; 4 5 var j = 66; 6 7 document.write((i == j)+"<br>");//輸出 "true" 8 9 document.write((i === j)+"<br>");//輸出 "false" 10 11 document.write((i != j)+"<br>");//輸出 "fale" 12 13 document.write((i !== j)+"<br>");//輸出 "true" 14 15 </script>- 條件運算符
variable = boolean_expression ? true_value : false_value;條件運算符與編程語言的使用方式基本一致。
1 <script type="text/javascript"> 2 3 var num1=25,num2=565; 4 5 var max = (num1>num2) ? num1 : num2;//取最大值 6 7 document.write(max+"<br>");//輸出 "true" 8 9 </script>- 其他運算符
a. 賦值運算符
每種主要的算術運算以及其他幾個運算都有復合賦值運算符:
-
- 乘法/賦值(*=)
- 除法/賦值(/=)
- 取模/賦值(%=)
- 加法/賦值(+=)
- 減法/賦值(-=)
- 左移/賦值(<<=)
- 有符號右移/賦值(>>=)
- 無符號右移/賦值(>>>=)
給定 x=10 和 y=5,下面的表格解釋了賦值運算符:
| = | x=y | ? | x=5 |
| += | x+=y | x=x+y | x=15 |
| -= | x-=y | x=x-y | x=5 |
| *= | x*=y | x=x*y | x=50 |
| /= | x/=y | x=x/y | x=2 |
| %= | x%=y | x=x%y | x=0 |
b.逗號運算符
用逗號運算符可以在一條語句中執行多個運算。
例如:var iNum1 = 1, iNum = 2, iNum3 = 3;
c.typeof運算符
typeof 運算符有一個參數,即要檢查的變量或值,對變量或值調用 typeof 運算符將返回下列值之一:Undefined:如果變量是 Undefined 類型的;Boolean:如果變量是 Boolean 類型的;Number:如果變量是 Number 類型的;String:如果變量是 String 類型的;Object:如果變量是一種引用類型或 Null 類型的。
1 <script type="text/javascript"> 2 3 var temp1="Jackie"; 4 5 var temp2;//Undefined類型只有一個值,即 undefined。當聲明的變量未初始化時,該變量的默認值是 undefined。 6 7 document.write((typeof temp1)+"<br>");//string 8 9 document.write((typeof temp2)+"<br>");//undefined 10 11 document.write((typeof 86)+"<br>");//number 12 13 document.write((typeof null)+"<br>");//object 14 15 </script> 16 17 /*Undefined:Undefined類型只有一個值,即 undefined。當聲明的變量未初始化時,該變量的默認值是 undefined。 18 null:另一種只有一個值的類型是 Null,它只有一個專用值 null,即它的字面量。值 undefined 實際上是從值 null 派生來的,因此 ECMAScript 把它們定義為相等的。alert(null == undefined); //輸出 "true"。 19 */d.delete運算符
delete 運算符刪除對以前定義的對象屬性或方法的引用。例如:
1 <script type="text/javascript"> 2 3 var o = new Object; 4 5 o.name = "Jackie"; 6 7 document.write(o.name+"<br>"); //輸出 "Jackie" 8 9 delete o.name; 10 11 document.write(o.name+"<br>"); //輸出 "undefined" 12 13 </script>e. instanceof運算符
能用 instanceof 運算符檢查給定變量指向的對象的類型。例如:
?
1 <script type="text/javascript"> 2 3 function Car()//使用原型方式(或混合的構造函數/原型方式)聲明instanceof才有用 4 {} 5 6 var car=new Car(); 7 8 document.write((car instanceof Car)+"<br>");//輸出 true 9 10 </script>?
?
使用instanceof 運算符會出現很多意想不到的結果,建議不用。使用原型方式(或混合的構造函數/原型方式)聲明instanceof才有用
注:數據類型轉換
?
String() 轉換為字符串類型
Number() 轉換為數字類型
Boolean() 轉換為布爾類型
?
parseInt:將字符串轉換為整數。從字符串的開頭開始解析,在第一個非整數的位置停止解析,并返回前面讀到所有的整數。如果字符串不是以整數開頭的,將返回NaN。如:parseInt(“150 hi”)返回的值是:150,parseInt("hi")返回的值是:NaN。
parseFloat:將字符串轉換為浮點數。 從字符串的開頭開始解析,在第一個非整數的位置停止解析,并返回前面讀到所有的整數。如果字符串不是以整數開頭的,將返回NaN。如:parseFloat("15.5 hi") 返回的值是:15.5,parseFloat("hi 15.5")返回的值是:NaN。
?
eval:將字符串作為javascript表達式進行計算,并返回執行結果,如果沒有結果則返回undefined。
附上截圖:
??????
?
- 運算符思維導圖
?
轉載于:https://www.cnblogs.com/Jackie0714/p/4941231.html
總結
以上是生活随笔為你收集整理的JavaScript基础3——关于运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android屏幕适配的一些常识
- 下一篇: Hive中JOIN操作