文章目录
  1. 1. JavaScript数据类型
  2. 2. 类型转换
    1. 2.1. 显示类型转换
  3. 3. 例题
    1. 3.1. 隐示类型转换

JavaScript数据类型

JavaScript有6中数据类型,分别为Number、String、Boolean、Object、undefined、function

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript">
var demo = 123;
document.write(demo + "的数据类型为:" + typeof (demo) + "<br />");
demo = "456";
document.write("'" + demo + "'的数据类型为:" + typeof (demo) + "<br />");
demo = true;
document.write("'" + demo + "'的数据类型为:" + typeof (demo) + "<br />");
demo = {};//数组、null返回的也是object类型
document.write("'" + demo + "'的数据类型为:" + typeof (demo) + "<br />");
demo = undefined;
document.write("'" + demo + "'的数据类型为:" + typeof (demo) + "<br />");
demo = function () { };
document.write("'" + demo + "'的数据类型为:" + typeof (demo) + "<br />");
</script>

typeof(a) 未申明的变量 返回”undefined”

typeof(null) 返回”object”

类型转换

显示类型转换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
var num = Number("aabc");//true转换为1    null转换位数字是0  undefined转换为数组是NaN  转换不成数字的转换为NaN
document.write(typeof (num) + ":" + num);

num = parseInt(true); //true false 转换全是NaN
document.write(typeof (num) + ":" + num);

//基底范围 2-36
num = parseInt(10,16); //把10当成16进制转换为10进制 以目标进制为基底转换为10进制 从数字位看到非数字位然后返回 砍断原则 例如100px 取100
document.write(typeof (num) + ":" + num);

num = parseFloat(10,16); //从数字位看到第一个.以后的数字返回 非数字断掉。
document.write(typeof (num) + ":" + num);

//转换string
num = String("123");
document.write(typeof (num) + ":" + num);


//转换boolean
num = Boolean(123213);
document.write(typeof (num) + ":" + num);


num = "123"; //undefined null 不能tostring()
num = num.toString();
document.write(typeof (num) + ":" + num);


num = 20;
num = num.toString(8); //以10进制为基底 转换为目标进制
document.write(typeof (num) + ":" + num);


//demo 2进制转为为10进制

num = 10000;
num = parseInt(num,2);
num = num.toString(16);

document.write(typeof (num) + ":" + num);

例题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//隐示类型转换
var str = false + 1;
console.log(str);//1
var demo = false == 1;
console.log(demo);//false

if (typeof (a) && -true + (+undefined) + "") {
//"undefined" && -1 + "NaN"
//"undefined" && "NaN"
console.log("第一个输出");
}
if (11 + "11" * 2 == 33) {
console.log("第二个输出");
}
//" "返回true ""返回false
!!" " + !!"" - !!false || document.write("会输出么");
//true + false - false;

true && false && document.write("cccd");

隐示类型转换

isNaN() 内部先调用 Number() 在和NaN比较.

  • 两侧有字符串 整个变为字符串
文章目录
  1. 1. JavaScript数据类型
  2. 2. 类型转换
    1. 2.1. 显示类型转换
  3. 3. 例题
    1. 3.1. 隐示类型转换