JS学习第一周(逆战班)
(一)布尔类型
其他类型转化为布尔类型
1. 自动转化:
在执行if判断时,其他数据类型自动转化为布尔类型
例如: var a = 40;
if(a>50){
console.log('true')
}else{
console.log('false')
}
//输出结果为false
If 判断会根据()中,表达式的结果来执行程序,
如果表达式的结果是true,会执行if{ }中的内容;
如果表达式的结果是false,会执行else{ }中的内容。
其他类型转化为布尔类型的原则:
转化为false:0 、“”、 undefined、 null、 NaN ,
其他的会转化为true。
2. 强制转化
其他数据类型强制转化为布尔类型
使用JavaScript中定义好的Boolean(变量)函数
例如: var a = 0;
console.log(Boolean(a));
//输出结果为false
将a 中存储的数值 0 转化为布尔值输出,转化结果为false。
强制转化原则与自动转化原则相同:
转化为false:0 、“”、 undefined、 null、 NaN ,
其他的会转化为true。
Boolean(变量)这个方法,不会改变变量中存储的原始数值,只是将变量中的数值,解析获取,在转化输出,不会改变变量的内容。
(二)字符串类型
其他类型转化为字符串类型
1. 自动转化:
在执行字符串拼接时会自动转化为字符串类型
执行字符串拼接,拼接符号+好两侧,都应该是字符串类型;
如果是其他类型JavaScript程序,会自动转化为字符串类型,然后再执行拼接。
例如: var b = 100;
console.log(b+'true');
//输出结果为100true
三个特殊转化的自动转化:
① 数组:将 [ ] 中的内容 转化
例如: var b ="100"+[1,2,3];
console.log(b)
//输出结果为 1001,2,3
② 对象:不管什么内容都会转化为[ object Object ]
例如: var b ="100"+{name:''}
console.log(b)
//输出结果为 100[object Object]
③ 函数:所有程序代码都转化字符串
例如: var b ="100"+function fun(){}
console.log(b)
//输出结果为 100function fun(){}
2. 强制转化:
其他数据类型强制转化为字符串类型
方法1:
.toString(进制类型)
将变量强制转化为字符串类型,并且可以设定转化的进制
常用的进制数值是(2)(8)(16)
可以设定的进制范围是2-36、十个数值和26字母
例如:var b =100;
console.log(b.toString(16));
//输出结果为 64
方法2:
string(变量)
将变量转化为字符串,原则按照自动转化的原则执行,不会改变变量存储的原始数值。
例如: var b =100;
console.log(String(b));
//输出结果为 100
(三)数值类型
1. 自动转化
在执行数学运算时,会自动转化数值
转化原则:true -> 1
False -> 0
undefined -> NaN
Null -> 0
字符串类型转化为数值类型:
如果整个字符串是纯数字字符串或者符合科学技术法,会转化为对应的数值;如果字符串中有不符合数字规范的内容,会转化为NaN。
例如: var c =100 - true;
console.log(c);
//输出结果为 99
数组 对象 函数 都会转化为NaN
例如: var c =100 -'[1,2,3]';
console.log(c);
//输出结果为 NaN
2. 强制转化
方法1:
. number(变量) 转化原则与自动转化原则相同
例如: var c = 100 - true;
console.log(Number(c));
//输出结果为 99
方法2:
parseInt(变量) 获取整数
例如: var c =[1,2,3,4];
console.log(parseInt(c));
//输出结果为 1
方法3:
parseFloat(变量) 获取浮点数
例如: var c =123.123;
console.log(parseFloat(c));
//输出结果为 123.123