顯式型別轉換和隱式型別轉換

2021-10-03 09:20:00 字數 4467 閱讀 4767

typeof六種資料型別:

number、string、boolean、undefined、object、function

var num = 123;

console.log(typeof(num)); // number

var num1 = 'true';

console.log(typeof(num1)); // string

var num2 = null;

console.log(typeof(num2)); // object

var num3 = true;

console.log(typeof(num3)); // boolean

var num4 = function() {};

console.log(typeof(num4)); // function

var num5 = undefined;

console.log(typeof(num5)); // undefined

顯式型別轉換

1. number(mix)

var num = number('123');

console.log(typeof(num) + ':' + num); // number:123

var demo = undefined;

var num1 = number(demo);

console.log(typeof(num1) + ":" + num1); // number:nan

var a = number('a');

console.log(typeof(a) + ':' + a);// number:nan

2.parseint(string,radix)

var demo = 123.123;

var num = parseint(demo);

console.log(typeof(num) + ':' + num); // number:123

var demo = '123.123';

var num = parseint(demo);

console.log(typeof(num) + ':' + num); // number:123

var demo = '123.123';

var num = parseint(demo, 8);

console.log(typeof(num) + ':' + num); // number:83

var demo = 123.123;

var num = parseint(demo, 2);

console.log(typeof(num) + ':' + num); // number:1

parsefloat(string)

var demo = '100.2abcd';

var num = parsefloat(demo);

console.log(typeof(num) + ':' + num); // number:100.2

4.tostring(radix)

var demo = 1234;

var num = demo.tostring();

console.log(typeof(num) + ':' + num); // string:1234

var demo = 20;

var num = demo.tostring(8);

console.log(typeof(num) + ':' + num); // string:24

將二進位制的 10000 轉換成 16 進製

var num = 10000;

var test = parseint(num, 2);

console.log(test.tostring(16)); // 10

undefined, null 不能用tostring

string(mix)

var demo = '100.2abcd';

var num = string(demo);

console.log(typeof(num) + ':' + num); // string:100.2abcd

boolean()

var demo = '100.2abcd';

var num = boolean(demo);

console.log(typeof(num) + ':' + num); // boolean:true

var demo = '';

var num = boolean(demo);

console.log(typeof(num) + ':' + num); // boolean:false

隱式型別轉換

isnan() -> number()

console.log(isnan(nan)); // true

console.log(isnan('abc')); // true

console.log(isnan(null)); // fslse

console.log(isnan(undefined)); // true

// number();

++/-- +/-(一元正負)

var a = '123';

a++;

console.log(a); // 124

var b = 'abc';

b--;

console.log(b); // nan

var a = +'abc';

console.log(a + ':' + typeof(a)); // nan:number

-*/% ->number

var a = '1' * 1;

console.log(a + ':' + typeof(a)); // 1:number

var a = 'a' * 1;

//number(a)*number(1)

console.log(a + ':' + typeof(a)); // nan:number

var a = '3' > '2';

console.log(a + ':' + typeof(a)); // true:boolean

var a = '3' > 2;

console.log(a + ':' + typeof(a)); // true:boolean

var a = 1 != true;

console.log(a + ':' + typeof(a)); // false:boolean

undefined == null

// true

nan == nan

// false

不發生型別轉換

=== !== 絕對等於和絕對不等於

1 === '1'// false

1 === 1 // true

1 !== '1' // true

1 !== 1 // false

nan === nan // false

console.log(typeof(a)); // undefined

唯一乙個未定義不會報錯 將變數放在typeof()裡面

作業:

alert(typeof(a)); // undefined

alert(typeof(undefined)); // undefined

alert(typeof(nan)); // number

alert(typeof(null)); // object

alert(typeof(nan)); // number

var a = '123abc';

alert(typeof(+a)); // number

alert(typeof(!!a)); // boolean

alert(typeof(a + '')); // string

alert(1 == '1'); // true

alert(nan == nan); // false

alert(nan == undefined); // false

alert('11' + 11); // 1111

alert(1 === '1'); // false

alert(parseint('123abc')); // 123

var num = 123123.3456789;

alert(num.tofixed(3)); // 123123.346

C 的隱式型別轉換和顯式型別轉換

c 的隱式型別轉換和顯式型別轉換 c 的隱式型別轉換 在 c 語言中,一些預定義的資料型別之間存在著預定義的轉換。比如,從 int型別轉換到 long 型別。c 語言中資料型別的轉換可以用分為兩 類 隱式轉換 implicit conversions 和顯式轉換 explicit conversio...

JS型別和顯 隱式型別轉換

型別可以用 typeof 獲取。object型別,可以理解為引用型別,但是不完整。vara function console.log typeof 輸出 object console.log typeof 輸出 object console.log typeof null 輸出 object con...

顯式型別轉換 隱式型別轉換 變數作用域

妙味課堂 1 顯式型別轉換 強制型別轉換 parseint可以把字串轉化為數字 或者說從字串中提取數字 12.6 12 12px34 12 abc nan not a number 從左到右是數字取出,碰到不是數字的停止 parsefloat把字串轉化為小數 求和器 注意 1 nan和任何東西相加還...