一
1.字符串
字符串在js中可以采用单引号,也可以采用双引号来引
字符串有长度属性,在计算字符串的长度的时候,空格也要计算在内,
2.数字
var num1 = 2;
var num2 = 1.1;
console.log(num1 - num2); // JS浮点数精确到小数点后16位
var result = num1 - num2;
toFixed(n) //将数字保留小数点后n位且四舍五入,并转化为字符串
console.log(result.toFixed(2)); // 0.90
2.布尔类型
在参与运算的时候,会被自动转为0(false)和1(true)
二
1、字符串转为数字
Number()它是整体转换,里面有一个非数字,就转不了
parseInt() 从左往右一个一个转,转不了小数点
parseFloat() 从左往右一个一个转,可以转第一个小数点
console.log( Number('100px') ); // NaN , 整体转
console.log( parseInt('100px') ); // 100 , 一个一个从左往右转
console.log( parseInt('100.666元') ); // 100 , 一个一个从左往右转
console.log( parseFloat('100.666元') ); // 100.666 , 一个一个从左往右转
2.转为字符串
String() 任何类型都能转 toString() 不能转null和undefined;其他都能转
3.数据类型转布尔
三
1、++ 和–
如果只是单独使用,放在前面放在后面都是一样的
var a = 1
a++
console.log(a); //2
var b = 1
++b
console.log(b);//2
如果和表达式一起使用,放在前面就先递增在参与运算,放在后面就先运算再递增
var a = 1
var b = 1
console.log(b + a++);//2 因为是放在后面所以先运算再递增 所以结果是2 但此时a=2
console.log(b + ++a);//4 因为放在前面先递增a=3 结果是4
四、=== 和==的区别
在js中==指的是非严格模式 他只转换数据
而 === 则是严格模式 即转换数据及类型
var a = '10';
var b = 10;
console.log(a==b) //返回真 js会默认转为数字类型
console.log(a===b) // 返回假 因为是严格模式 a和b的数据类型不一致