操作符:算数操作符、
var a=10;
var b=20;
var c=a+b;
console.log(c);//30
console.log(10/3);//3.3333
console.log(10%3);//1
//获得两个数相除的商和余数
console.log(Math.floor(10/3));//ceil round
console.log(0.1+0.2);
//笔试题:有小数位的运算
var sum = (0.1*100+0.2*100)/100;
console.log(sum);
console.log(123+"123");//123123 字符串的拼接运算
console.log(123-"123");//0 隐式的数据类型转换 string-->number
console.log(-null);
console.log(-undefined);
console.log(-true,-false);
console.log(-"123");
console.log(-"",-"abc",-"123abc",-"0123",-"0x12");
var obj={};
var obj2={name:'zs'};
console.log(-obj,-obj2);
var obj3={
age:12,
valueOf:function(){return this.age}
}
console.log(-obj3);
//其他数据类型---》数值类型:
/*
*null/false/'' --> 0
undefined/object/'aaaaa'-->NaN
'123' '0123'-->123 10进制
'0x133'-->16进制
* */
// a++ a=a+1
var a=10,b=true;
console.log(a++,b++);//10 1
console.log(a,b);//11 2
var a=10,b=true;
console.log(++a,++b);//11 2
var c = 1-a--;
console.log(a,c);//10 -10
//笔试题:
var a=10;
var b=a++;//b=10 a=11
var c=++a;//a=12 c=12
var d=--a;//a=11 d=11
var e=a--;//e=11 a=10
console.log(a,b,c,d,e);
//console.log(++c---a+b--); js error
//复合赋值
var a=10;
//var b+=a;//b = b+a;
//console.log(b);
a+=20;// a=a+20 a=10+20=30
var c=true;
c*=a;//c = c*a = 1*30=30
console.log(a,c);
var d=2; // d = 2*30+30; error!
d *= a+c;// d *= (a+c);
d *= (a+c);//圆括号可以改变运算的优先级
console.log(d);
比较操作符
//过程:数据类型转换
//结果:Boolean
//场景:分支、循环
console.log(10>20);//false
console.log(10>=10);//true
console.log(true>20);//false
console.log(undefined<20);//false
console.log("abc">=20);//false NaN
console.log("abc">="abbc");//字符串的比较
console.log(undefined>=undefined);//false NaN
console.log("abc"=="abc");//是否相等(值)
console.log("1" == 1,true=="1",null==0,null==undefined);//是否值相等
console.log(1===1,"abc"==="abc");//true
console.log("1"===1,true===1,null===undefined);//false
//是否恒相等(数据类型、值)
//是否不相等 != 是否恒不相等!==
console.log(1!=false);//true
console.log(1!==false);//true
console.log( null !== undefined);//true
console.log( "123" != "123");//false
、逻辑操作符
console.log(true&&true);//true
console.log(false||false);//false
console.log(10>5&&20>4);//true
//其他数据类型--->布尔类型
console.log(null&&true);
console.log(undefined&&true);
console.log(100&&true);//100-->true
console.log(0&&true);
console.log(''&&true);
console.log('123'&&true,'abc'&&true);//true
console.log({name:'zs'}&&true);//true
console.log(null || false,undefined||false,0||false,''||false);//false
console.log(100||false,'abc'||false);//逻辑有值||false-->原值
console.log(false||100,false||'abc');//原值
console.log(100||true,'abc'||true);//原值
//其他数据类型--->布尔类型
console.log(!true,!false,!!true,!!false);
console.log(!10>20,!!10>20);
console.log(!!null,!!undefined,!!0,!!'',!!false);//false
console.log(!!100,!!"abc",!!{name:'zs'});//true
//三目运算
console.log(10>20?'haha':'heihei');
//var a;
var a=a?a:'默认值';
console.log(a);
、其他操作符
js弱数据类型语言:隐式的数据类型转换*
算数操作符:+ ,-,*,/,%,=
+=,-=,*=,/=,%= 复合赋值运算
逻辑操作符:
表达式&&表达式
true&&true==>true
true&&false==>false
false&&true==>false
false&&false==>false
同时成立条件的结论:只要有一个false ,结果就是false
(或,只要有一个成立)
表达式|| 表达式
True || true==>true
True || false==>true
False ||true==>true
False || false==>false
结论:只要有一个为true,结果全为true.
!表达式
流程控制语句:
顺序、分支、循环
for循环,while循环,do{}while()循环,while循环的累加操作
for(var i=0,sum=0;i<=100;i++){
sum += i;
}
var i=100,sum=0;
while(i>=0){
sum += i;
i--;//i=i-1
}
var i=100,sum=0;
do{
sum += i;
i=i-1;
}while(i<0);
for(var k=10;k>=0;k--){
console.log('for',k);
var m=10;
console.log('for',m);
}
console.log(k);
console.log(m);
人民币大写
var num='';
//1.验证数据的合法性
//2.业务处理
if(typeof num=='number' && num>=0 && num<=10){
if(num==0) console.log('零');
else if(num==1) console.log('壹');
else if(num==2) console.log('贰');
else if(num==3) console.log('叁');
else if(num==4) console.log('肆');
else if(num==5) console.log('伍');
else if(num==6) console.log('陆');
else if(num==1) console.log('柒');
else if(num==1) console.log('捌‘);
else if(num==9) console.log('玖');
else console.log('拾');
}else{
console.log('非法数值');
}
console.log('over');
星期的转换:
var num=1;
switch(num){
case 1:
console.log('星期一');
//break;
case 2:
console.log('星期二');
case '3':
console.log('星期三');
break;
case 4 :
console.log('星期4');
break;
case 5 :
console.log('星期5');
break;
case 6 :
console.log('星期6');
break;
case 7 :
console.log('星期日');
break;
default:
console.log('非法数据');
}
var num=3;
switch(num){
case 1:
case 2:
case 3:
case 4:
case 5:
console.log('工作日');
break;
case 6:
case 7:
console.log('休息日');
break;
default:
console.log('非法数据');
}