将其他的数据类型转换为Boolean
使用Boolean()函数 - 数字 ---> 布尔 - 除了0和NaN,其余的都是true
字符串 ---> 布尔 - 除了空串,其余的都是true
null和undefined都会转换为false
对象也会转换为true
0 和 空字符串 NaN 为false
var a = 123; // true
a = -123;//true
a = 0;//false
a = Infinity;//true
a = NaN;//false
字符串类型
a = 'hello';//true
a = 'ture';//true
a = 'false';//true
a = '错误';//true
a = ' ';//true
a = '';//false
a = null;//false
a = undefined;//false
所有的对象都转为true
a = window;//true
console.log(typeof a);
console.log(a);
</script>
运算符
运算符也叫操作符
通过运算符可以对一个或多个值进行运算,并获取运算结果
比如:typeof就是运算符,可以来获得一个值的类型,它会将该值的类型以字符串的形式返回"number" "string" "boolean" "undefined" "object"
算数运算符
当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算
任何值和NaN做运算都得NaN++可以对两个值进行加法运算,并将结果返回
如果对两个字符串进行加法运算,则会做拼串,会将两个字符串拼接为一个字符串,并返回
任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作-
- 可以对两个值进行减法运算,并将结果返回
* 可以对两个值进行乘法运算
可以对两个值进行除法运算%
% 取模运算(取余数)
var a =123;
var result =typeof a;
console.log(result);//'number'
console.log(typeof a);
console.log(typeof result);//string
a =a +1;//124
result =123 +456;//1245
result =true +1;//2
result =true +false;//1
result =2 +null;//2
result =2 +NaN;//NaN 任何值和NaN运算结果都是NaN
result ='123' +'456';//123456拼字符串
console.log(result);
var str ='陈立农最帅'+'啦啦啦'+'哈哈哈';
console.log(str);
result =123 +'1';//1231
result =true +'hello';//truehello
console.log(result);
var c =123;//string(c)
c =null;
c =c +'';
console.log(typeof c);
console.log(c);
c =123;
console.log('c = ' +c);//c = 123
result =1+2+'3';//33
result ='1'+2+3;//123
result =100 -5;//95
result =100 -true;//99
result =100 -'1';//99
result =2 *2;//4
result =2 *'8';//16
result =2 *undefined;//NaN
console.log('result = ' +result);
result =4 /2 ;//2
result =3 /2 ;//1.5
console.log('result = ' +result);
var d ='123';
//d = Number(d);
d =d -0;//-0 *1 /1
console.log(typeof d);
console.log(d);
result =9%3;//0
result =9%4;//1
result =9%5;//4
console.log('result = ' +result);
一元运算符
一元运算符,只需要一个操作数 + 正号 - 正号不会对数字产生任何影响 负号 - 负号可以对数字进行符号的取反 - 对于非Number类型的值,它会将先转换为Number,然后再运算 - 可以对一个其他的数据类型使用+,来将其转换为number,它的原理和Number()函数一样
var a =123;
a = +a;
a = -a;//-123
a =true;
a = -a;
a ='18';
a =a;//字符串
a = +a;// -0 *1 /1
// console.log(typeof a);
// console.log("a = " + a);
var result =1 +'2' +3;//123
result =1 + +'2' +3;//6 加号可以把任意转为number
console.log('result = ' +result)
自增和自减
自增 ++
通过自增可以使变量在自身的基础上增加1
对于一个变量自增以后,原变量的值会立即自增1
自增分成两种:后++(a++) 和 前++(++a)
无论是a++还是++a,都会立即使原变量的值自增1
不同的是a++和++a的值不同
a++的值等于原变量的值 先赋值后自增
++a的值等于新值 先自增后赋值
自减 --
- 通过自减可以使变量在自身的基础上减1
- 自减分成两种:后--(a--) 和 前--(--a)
无论是a--还是--a都会立即使原变量的值自减1
不同的是a-- 和 --a的值不同
a-- 是变量的原值 先赋值后自减
--a 是变量的新值 先自减后赋值