今日天气
1.隐式转换
var a = 'aa';
var b = 'bb';
// a+b的结果是"aabb", "aabb"在这里自动转换成true, 这种类型转换称为隐式转换
if (a+b) {
console.log('xxxxxxx');
} else {
console.log('yyyyyyyy');
}
2.显式转换
- 转数字用方法Number(xxx);
- 转字符串Str(xxx);
- 转布尔 Boolean(xxx);
2-1.其他类型转数字类型
// 布尔转数字
var boo1 = true;
var boo2 = false;
var num1 = Number(boo1);
var num2 = Number(boo2);
console.log('true转数字:',num1); // 1
console.log('false转数字:',num2); // 0
// 字符串转数字
var str = ''; // 0
var str1 = ' '; // 0
var str2 = '123'; // 123
var str3 = 'abcd123'; // NaN
var uu; // NaN
var obj = null; // 0
var obj1 = {}; // NaN
var obj2 = {a:2,b:3}; // NaN
2-2.其他类型转布尔类型
// 数字转布尔
var num1 = 100; // 整数转成true
var num2 = NaN; // NaN转成false
var num3 = 0; // 0转成false
var num4 = Infinity; // true
var num5 = 88.88; // true
// 字符串转布尔
var str1 = ''; // false
var str2 = ' '; // 空格不空, true
var str3 = 'abcd'; // 非空字符串转为true
var uu; // false
var nu = null; // false
var obj = {}; // true
2-3.其他类型转字符串类型
一般规律: 一般情况下, 其他类型转字符串都是直接给原来的变量加上双引号即可
变量名 + ""
var a = 0;
console.log(a + "");
3.运算符优先级
() > 自加(自减) > 算术运算符+ - * / %
> 关系运算符>, >=, ==,!= ===,!== < <=
> 逻辑运算符|| && !
> 赋值