今天在看flex源码的时候发现代码中出现了特殊的符号----“===”,由于是第一次看到,感到很奇怪,于是上网查了一下:
在 ActionScript 一個等號(=)是指定值給變數或物件的符號、兩個等號(==)則是邏輯上判斷兩個值是否相等的符號,那麼三個等號呢(===)?神奇了吧!三個等號就要邏輯上判斷兩個值是否真的完全相等的符號,而且不只是數值相等,連資料類型都要一模一樣才行(它不會自動幫您轉換資料類型),條件更嚴苛。不過有三個附帶條件:
Numbers和Boolean物件只要數值相等就算完全相等。 兩個字串要完全相等,必須字元數相同,而且裡面每個字元都相同。 兩個變數要相等,該變數至少必須代表相同的物件、陣列或函數。而兩個陣列是絕對不會完全相等的,就算是擁有同樣數目的陣列元素也一樣。試試看判斷下面這些狀況吧!看您的腦袋清不清楚:
s1 = new String("5");s2 = new String("5");s3 = new String("Hello");n = new Number(5);b = new Boolean(true);
s1 == s2; // 結果是trues1 == s3; // 結果是falses1 == n; // 結果是 trues1 == b; // 結果是falses1 === s2; // 結果是trues1 === s3; // 結果是falses1 === n; // 結果是falses1 === b; // 結果是falses1 !== s2; // 結果是falses1 !== s3; // 結果是trues1 !== n; // 結果是trues1 !== b; // 結果是true
相关资源:谷歌安装器(如果Go安装器无法打卡可以使用这个)
