JavaScript-02
运算符
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body></body>
<script>// 加法// 字符串拼接console.log('1'+9);console.log("123"+3);// 加法运算console.log(123+2);//自减var num=20;// num=num-1// num--;// // 输出19// console.log(num);// 位置区别//这里是输出20 因为自减 先把值丢出去 再做减法运算 先把值给rs然后再做减法操作var rs=num--console.log(rs);// 这里没办法先给rs赋值,而是先做减法操作再进行赋值var rs=--num;// 输出19 console.log(rs);// 赋值运算符var num2=20;var num3=0;// num3+=num2 num3=num3+num2// %:取余数var num4=5%2console.log(num4);// 比较运算符 > >= < <= ==// 等值判断 ==不校验数字类型console.log(1==1);// 只要数字的值的形式相同都为true,记住 输出trueconsole.log('1'==1);// 输出false ===表示类型判断 类型判断console.log('1'===1);// 作用:后端返回数字类型:2 后端返回数据兼容 如果后端改成String类型 前端用===去判断直接会报错 2===‘2’console.log(2==2);// 逻辑运算符 // && 第一步为假了,不会往后走,内部0当做返回值返回,不会直接转为false;都要为true才能成立为trueconsole.log(Boolean(0&&1));// &var num6='12'var num7=4// 如果为第一个为trueconsole.log(num6&num7);// || 只要一个为true 就行了,就不会往后走了// 取反 转为布尔类型console.log(!!0);// 计算优先级 如果分不清的话加个括号提升优先级 很少碰到console.log(3*(1+1));//
</script>
</html>
JS函数
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body></body>
<script>// 函数 封装了重复的代码块// 声明具名函数 需要被调用才能执行function test(){console.log('testssssssssssssssssssssssssssssssssssss');}//调用执行该函数test()// 声明匿名函数 回调的时候方便var niMing=function(){console.log("xxxxxxxxxxxxxxx");}niMing()// 函数参数// 形参 无需再声明varfunction test01(a,b){console.log(a+b);}//先按顺序赋值,然后再执行log test01(11,2)test01(24,2)test01(141,2)// NaNtest01()// 输出undefined// test01(a,b)// 占位test01(null,222)// 占位 输出NaNtest01(undefined,23232)// 记住JS里面没有重载 会覆盖掉上面的test01函数// function test01(a,b,c)// {// }// 函数return 拿到结果值function sum(a,b){// 逻辑return a+b;}var s=sum(1,3)console.log(s);// 没有return 输出undefinedvar tes=test01(1,2)console.log(tes);// 结束执行function o(a){// 如果是非数字类型就停止if(isNaN(a))return;console.log("xxxxxxxxxxxxxxxx");}o(1)
</script>
</html>
流程控制
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body></body><script>// 分支 双:if else|多: if elseif ... else 单:// 三元表达式 (条件?如果成立返回第一个值:不成立则返回该第二个值) 快速执行分支语句,console.log(1? 222:2223343);var max=123var min=20console.log(max>min?90:100);// 三元表达式 快速获取判断结果值// 性别字典值var manStatus='1'var womanStatus='0'// 这个是我目前拿到的数据// var getSexStatus='1'var getSexStatus='0';var sexLabel=manStatus==getSexStatus?"nan":"woman";console.log(sexLabel);// switch sexCode 没有break全部输出 穷举var sexCode=0;switch(sexCode){case 0:console.log("XXXXXXX");break;case 1:console.log("msdsdsd");break;default:}// for循环var arr=[1,3,4,5,6,7,8,9]console.log(arr[4]);console.log(arr.length);// 如果死循环会卡死for(var i=0;i<arr.length;i++){console.log(arr[i]);}
console.log("xxxxxxxxxxxxxxxxxxx");var index=0;while(index<arr.length){index++; if(index%3==2){// 终止本次循环 往下的代码就不会执行了continue;}console.log(arr[index]);}</script>
</html>
数组
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body></body>
<script>// 数组 var arr=[3,3,4,5,5]console.log(arr);arr[2]=3333console.log(arr);// 添加 往后添加一个元素888arr.push(888)console.log(arr);//
// var num=[]// //
// num=1// //假如中间有一万行的话,push错,看不是数据没有写错那么 页面控制台报类型出现问题,可以在push前log打印一下
// console.log(num);
// num.push</script>
</html>