1-1强制转换
1-1-1string boolean—>number
string—>number
var str="10";console.log(str);//10var s="hello world"console.log(s);//NaN
boolean—>number
true --> 1false -->0
1-1-2number string—>boolean
number—>boolean
var a=3;var b=0;console.log(Boolean(a));//trueconsole.log(Boolean(b));//false
string—>boolean
""-->falsevar str="hello world";var s="";console.log(Boolean(str));//trueconsole.log(Boolean(s));//false
1-2自动转换
算术
var a="10";var b=1;var c=true;console.log(a+b-c);//100console.log(a-b+c);//10console.log(a+c-b);//NaN
比较
var a=true;var b="10";var c="hello";console.log(a>b);//falseconsole.log(a>c);//false
1-3any-number
var str="12.121212px";console.log(parseInt(str));//12console.log(parseFloat(str));//12.121212
1-4anystring
String();toString();+"";
1-5运算符和表达式
1-5-1算术运算
+,-,*,/,%# 先将值转换为number(Number),再进行计算。var a=true;var b="13";var c=b-a;// var c=Number(b)-Number(a)console.log(c); //12
1-5-2比较运算
var a=true;var b="10";var c="hello";console.log(a>b);//falseconsole.log(a>c);//false
1-5-3逻辑运算
console.log(6>4 && 7>4);trueconsole.log(4>3 && 6>7);falseconsole.log(3>4 || 3>2);trueconsole.log(3>4 || 3>5);falseconsole.log(!(5>6));true
1-5-4赋值运算
var a=4;// a=a+6;a+=6;console.log(a);//10a-=2;//a=a-2;console.log(a);//2
1-5-5三元表达式
var a=(5>4)? "5>4" "4>5"true:输出第一段"5>4"false:输出第二段"4>5"
1-5-6++ —
var a=10;var b=15;c=++a +2;d=b++ +4;console.log(c);13console.log(d);19console.log(b);16console.log(a);11
1-6箭头函数
var go =function(){console.log("hello world")}go(); //hello worldvar show = ()=>{console.log("world")}show(); //worldvar test =()=>console.log("test");test(); //test
var go =x=>console.log(x); //10var sum =(x,y)=>{console.log(x+y)}; //7go(10);sum(3,4);
1-7奇怪的运算
var a="21"+4-true+"3";console.log(a);//2133
