下班很無聊
2017-05-26 20:23
一、函式類
isnan() 該函式會對引數進行隱式的number()轉換,如果轉換不成功,則會返回true
var a="1a";
alert(isnan(a));//true
alert() 輸出的內容隱式的轉換為string型別
二、運算子類
a.算數運算子 - * / %
如果運算元不是數值,將會隱式的呼叫number()函式,按照number()轉換規則進行轉換
如果轉換不成功,整個表示式返回nan
var a='s';
alert(a-2);//nan
1.如果運算元都是數值,進行相加
alert(2+3);//5
2.任何資料型別和字串相加,都會隱式的呼叫tosting()方法,然後返回他們的拼接結果
var a='str';
alert(2+a);//2str
3.如果運算元都是boolean,進行number()轉換,false為0 true為1,再相加。
var t=true;
var f=false;
alert(f+t);//1
b.關係運算子
關係運算子的運算元可以是任何型別,如果運算元不是數值型別,將會隱式的轉換
(1)他運算的結果都是布林值
(2)都是字串的時候,他會先隱式轉換成ascii碼然後進行比較他們的第乙個字母。
var a='a';
var b='as';
alert(a.charcodeat());//97
alert(b.charcodeat());//65
alert(a>b);//true
(3)都是數值的時候,他會正常比較
(4)當乙個字串,另乙個是數值的時候,把字串嘗試轉換成number()數值型別,然後進行 比較,如果不能轉換成數值型別,則會返回nan,然後返回假
var a='a';
var b=3;
alert(a>b);//false
(5)undefined == null
var a=null;
var b;
alert(a==b);//true
(6)如果兩個都是數值型字串,那麼他們隱式轉換成ascii碼,也是只比較第乙個
var a='23';
var b='123';
alert(a.charcodeat());//50
alert(b.charcodeat());//49
alert(a>b);//true
(7)如果乙個數值和布林值進行比較,會把布林值隱式轉換為數值再進行比較,true為1, false為 0
c、等性運算子 == !=
會對運算元隱式的轉換後再比較值
(a) 比較字串的時候是比較他們的ascii碼是否相等
(b) 比較兩個數值的時候是比較他們的數值是否相等
(c) 比較函式的時候,判斷他們的位置是否相等。
(1)如果其中至少有乙個是布林值,那麼會隱式的呼叫number()進行轉換,然後比較。
var boo=true;
alert(boo==1);true
(2)如果乙個為字串。另乙個為數值,那麼會隱式的呼叫number()對字串進行轉換,如果轉換不成功,則返回false;
var str='23a';
alert(str==23);//false
(3) undefined == null
三、語句類
if(表示式)else
格式: var 變數= boolean expression?真值:假值
if語句和三元表示式裡面的表示式會隱式的呼叫boolean()函式,按照這個函式的轉換規則,轉換 為相應的布林 值
C 中資料型別轉換 隱式轉換
隱式轉換 一般是低型別向高型別轉化,能夠保證值不發生變化。隱式數值轉換 從 sbyte 到 short int long float double 或 decimal。從 byte 到 short ushort int uint long ulong float double 或 decimal。從...
C 中資料型別轉換 隱式轉換
隱式轉換 一般是低型別向高型別轉化,能夠保證值不發生變化。隱式數值轉換 從 sbyte 到 short int long float double 或 decimal。從 byte 到 short ushort int uint long ulong float double 或 decimal。從...
js資料型別與隱式型別轉換
執行環境是js中最為重要的乙個概念。執行環境定義了變數或函式有權訪問的其他資料,決定了它們各自的行為。每個執行環境都有乙個與之關聯的變數物件 variable object 環境中定義的所有變數和函式都儲存在這個物件中。雖然我們寫的 無法訪問這個物件,但解析器在處理資料時會在後台使用它。全域性執行環...