1-1强制转换
1-1-1string boolean—>number
string—>number
var str="10";
console.log(str);//10
var s="hello world"
console.log(s);//NaN
boolean—>number
true --> 1
false -->0
1-1-2number string—>boolean
number—>boolean
var a=3;
var b=0;
console.log(Boolean(a));//true
console.log(Boolean(b));//false
string—>boolean
""-->false
var str="hello world";
var s="";
console.log(Boolean(str));//true
console.log(Boolean(s));//false
1-2自动转换
算术
var a="10";
var b=1;
var c=true;
console.log(a+b-c);//100
console.log(a-b+c);//10
console.log(a+c-b);//NaN
比较
var a=true;
var b="10";
var c="hello";
console.log(a>b);//false
console.log(a>c);//false
1-3any-number
var str="12.121212px";
console.log(parseInt(str));//12
console.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);//false
console.log(a>c);//false
1-5-3逻辑运算
console.log(6>4 && 7>4);true
console.log(4>3 && 6>7);false
console.log(3>4 || 3>2);true
console.log(3>4 || 3>5);false
console.log(!(5>6));true
1-5-4赋值运算
var a=4;
// a=a+6;
a+=6;
console.log(a);//10
a-=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);13
console.log(d);19
console.log(b);16
console.log(a);11
1-6箭头函数
var go =function(){
console.log("hello world")
}
go(); //hello world
var show = ()=>{
console.log("world")
}
show(); //world
var test =()=>console.log("test");
test(); //test
var go =x=>console.log(x); //10
var sum =(x,y)=>{console.log(x+y)}; //7
go(10);
sum(3,4);
1-7奇怪的运算
var a="21"+4-true+"3";
console.log(a);//2133