1-3-js-核心语法:运算符和流程控制,三元表达式
JS运算符
/*
算数运算符:
1,加减乘除,
+ - * /
注意1,对于非数字的运算,都会转换为数字进行运算
比如:var a = true + true ----结果是2,
注意2,两个字符串相加,是拼串,
var a = "123"+"456" ----"123456"
注意3,任何值和Nan做运算,都是Nan
注意4,任何值和字符串做加法运算,都会把非字符串转换为字符串,做拼串的操作,
var a= 123+"1" ---结果:1231
上面只是加法,
对于减法,是都转换成为数字的,
2,取余,+1,-1,
% ++ --
var n =10;
n++ //11,就是n=n+1,不需要赋值,
################################
比较运算符
> >= < <= != == === !==
注意:
1 == “1” // true 这是弱等于,只判断值
1 === "1" // false 这是强等于,既判断值也判断类型
################################
逻辑运算符
&& 与
|| 或
! 非
################################
赋值运算符
=
+= //n+=1 就是 n= n+1
-= *= /=
* */
位运算符
运算符 名称 描述
& AND 如果两位都是 1 则设置每位为 1
| OR 如果两位之一为 1 则设置每位为 1
^ XOR 如果两位只有一位为 1 则设置每位为 1
~ NOT 反转所有位
<< 零填充左位移 通过从右推入零向左位移,并使最左边的位脱落。
>> 有符号右位移 通过从左推入最左位的拷贝来向右位移,并使最右边的位脱落。
>>> 零填充右位移 通过从左推入零来向右位移,并使最右边的位脱落。
这个位运算符,是加密里面很常见的,
JS流程控制语句
if语句
if (条件) {
如果条件为 true 时执行的代码
}
if (hour < 18) {
greeting = "Good day";
}
if (条件) {
条件为 true 时执行的代码块
} else {
条件为 false 时执行的代码块
}
if (hour < 18) {
greeting = "Good day";
} else {
greeting = "Good evening";
}
if (条件 1) {
条件 1 为 true 时执行的代码块
} else if (条件 2) {
条件 1 为 false 而条件 2 为 true 时执行的代码块
} else {
条件 1 和条件 2 同时为 false 时执行的代码块
}
if (time < 10) {
greeting = "Good morning";
} else if (time < 18) {
greeting = "Good day";
} else {
greeting = "Good evening";
}
Switch语句
switch(表达式) {
case n:
代码块
break;
case n:
代码块
break;
default:
默认代码块
}
switch (new Date().getDay()) {
case 0:
day = "星期天";
break;
case 1:
day = "星期一";
break;
case 2:
day = "星期二";
break;
case 3:
day = "星期三";
break;
case 4:
day = "星期四";
break;
case 5:
day = "星期五";
break;
case 6:
day = "星期六";
}
for循环
// for循环
// a1 = [1,2,3]
// for (var i =0;i<a1.length;i++){
// console.log(a1[i])
// }
JavaScript for/in 语句遍历对象的属性
var person = {fname:"Bill", lname:"Gates", age:62};
var text = "";
var x;
for (x in person) {
text += person[x];
}
while循环
//while 循环
// var i = 0;
// while (i < 10) {
// console.log(i);
// i++;
// }
三元表达式,
不常用,很少用,因为不好理解,但是混淆里面用的多
var a = 1;
var b = 2;
var c = a > b ? a : b;
//? 号前面是条件,成立就是第一个a,不成立就是第二个b
这种还简单,但是一层套一层的三元表达式这个就很不容易理解了,
var c = a > b ? a : a>1 ? 2 :a>-5 ? 3 : 4
这种就很难理解了,
在vue中这样使用:
<el-table-column label="执行结果" min-width="50px">
<template slot-scope="{row}">
<span>{{ row.is_passed == 1 ? '通过':'不通过' }}</span>
</template>
</el-table-column>
技术改变命运