Pages

系列文章

2020/03/08

【JQuery】《第五回》運算子介紹


這篇主要是要介紹一下JQuery的運算子(基本上所有城是語言都能通用)
如果已經有一段寫程式經驗的朋友其實可以略過這一篇
這篇主要是為了讓新手閱讀起來順一點所以補上的
操作前注意事項
運算子基本上跟JavaScript是通用的

因為運算子有很多所以這邊就會分成幾個類別
然後直接用範例+註解做介紹 就不再另外打太多廢話了
這個東西常用就會熟悉了 在這裡指介紹一部分其它的可以到文末
查看相關連結

邏輯運算子


/*
 * 邏輯運算子
 * 
 */
var _A =  true && true;     // t && t 回傳 true
var _B =  true || true;     // t || t 回傳 true
var _C =  !true;  // !t 回傳 false  



位元運算子


/*
 * 位元運算子 - NOT(~)運算
 * 將1轉為二制表示法再執行 NOT 運算(做補數運算)
 */
alert(~1);//運算的結果為 -2
alert(~-2);//運算的結果為 1

/*
 * 位元運算子 - 位元左移(<<)運算
 * 將1轉為二制表示法再執行 << 運算
 */
alert(1<<2);//1做 << 運算的結果 4
alert(-1<<2);//-1做 << 運算的結果為 -4

/*
 * 位元運算子 - 位元右移(>>)運算
 * 將4轉為二制表示法再執行 >> 運算
 */
alert(4>>2);//4做 >> 運算的結果 1 
alert(-4>>2);//-4做 >> 運算的結果為 -1

/*
 * 位元運算子 - 不帶正負號的右移(>>>)運算
 * 將4轉為二制表示法再執行 >>> 運算
 */
alert(4>>>2);//4做 >>> 運算的結果 1 
alert(-4>>>2);//-4做 >>> 運算的結果為 1073741823(無正負號)

/*
 * 位元運算子 - AND運算
 * 先檢查兩個運算式值的二制表示法,在將兩個運算式執行 AND 運算
 */
alert(3&6);//顯示3跟6做 AND 運算的結果
//兩個運算式的二進制分別為 011 & 110 = 101 最後顯示為2(自動被換算回10進制)

/*
 * 位元運算子 - XOR運算
 * 先檢查兩個運算式值的二制表示法,在將兩個運算式執行 XOR 運算
 */
alert(3^6);//顯示3跟6做XOR運算的結果
//兩個運算式的二進制分別為 011 ^ 110 = 101 最後顯示為5(自動被換算回10進制)

/*
 * 位元運算子 - OR運算
 * 先檢查兩個運算式值的二制表示法,在將兩個運算式執行 OR 運算
 */
alert(3|6);//顯示3跟6做OR運算的結果
//兩個運算式的二進制分別為 011 | 110 = 111 最後顯示為7(自動被換算回10進制)


指派運算子


/*
 * 指派運算子
 * 指派值給變數
 */
var a = "指派運算子";//將「指派運算子」這個值指定給變數a
alert(a);//顯示結果

/*
 * 複合式指派運算子 - 加法
 * 將值加入至變數值,然後將結果指派給變數
 * 要注意 會式產生串連結果 字串+字串 / 數值+字串 輸出結果都會事字串串連
 */
var val = 1;//設定一個變數為Val
val += 2;//將Val加2 結果為3

/*
 * 複合式指派運算子 - 減法
 * 從變數值減去運算式的值,然後將結果寫入變數
 */
var val = 3;//設定一個變數為Val值為3
val -= 2;//將Val減2 結果為 1

/*
 * 複合式指派運算子 - 乘法
 * 將變數值乘以運算式的值,然後將結果寫入變數
 */
var val = 3;//設定一個變數為Val值為3
val *= 2;//將Val乘2 結果為 6

/*
 * 複合式指派運算子 - 除法
 * 將變數值除以運算式的值,然後將結果寫入變數
 */
var val = 12;//設定一個變數為Val值為3
val /= 2;//將Val除2 結果為 6





雜項運算子


/*
 * delete 運算子
 * 這個還能刪什麼就靠大家去挖掘了
 */
var ar = new Array ('A', 'B', 'C', 'D', 'E' , 111);//宣告一個陣列
delete ar[5];//刪除第五個陣列內容
alert("array: " + ar);//顯示結果(A,B,C,D,E,)

/*
 * typeof 運算子
 * 可能會傳回的六個值如下:"number"、"string"、"boolean"
 * 、"object"、"function" 和 "undefined"。
 * 會以字串方式回傳資訊類型參數
 */
var Str = "AER";//宣告字串
var result = (typeof Str === 'string');//取得比對結果
alert(result);//顯示結果 (true)

/*
 * void 運算子
 * 會現執行運算結果或函式最後再以undefined作為回傳值
 */
var a = 100;//宣告數值
alert(a);//顯示結果 (100)
alert(void(a));//顯示結果 (undefined)
alert(void(alert(a)));//會先顯示一次a值在顯示undefined

/*
 * instanceof 運算子
 * 判斷物件是否為某個特定類別
 */
var obj = new Date();//宣告一個日期格式
alert(obj instanceof Date);//判斷obj是否為日期格式 (顯示true)
alert(obj instanceof Object);//判斷obj是否為物件格式 (顯示true)
alert(obj instanceof Number);//判斷obj是否為數值格式 (顯示false)

/*
 * new 運算子
 * 建立新的物件
 */
ar = new Array(1,3);//建立一個陣列物件
var ar = new Array(1,3);//等同於上面的建立方式
alert(ar[0]);//顯示陣列第0個位址的參數(顯示 1)

/*
 * in 運算子
 * 測試物件的屬性是否存在
 */
var ar = new Array(1,3);//宣告一個陣列物件
alert("1" in ar);//判斷陣列中是否包含1這個屬性,基本上就是指ar[1]有沒有值 (回傳true)




其它相關連結


MDN


發現更多關於 JQuery系列文章教學

沒有留言:

張貼留言