資料型別的隱式轉換

2021-08-01 17:41:23 字數 2020 閱讀 2696

下班很無聊

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 環境中定義的所有變數和函式都儲存在這個物件中。雖然我們寫的 無法訪問這個物件,但解析器在處理資料時會在後台使用它。全域性執行環...