JS运算(二)

逻辑运算符

&&  ||  !

&& 全真为真,有假则假  &&是一个惰性的运算符(短路操作符)

|| 全假为假,有真则真  ||也是一个惰性运算符

 

流程控制

var box = 12;
if (box > 10) {    //可以接受一个表达式,一个布尔类型的值,以及其他类型的值,但最终会接受一个布尔类型的值
    //判断条件为真时执行的代码体
    console.log("这个数字大于10")
}

1、if (条件表达式) {}  条件表达式结果是一个boolean类型的

2、if () {}  else {}

3、if () {}  else if {} else {}

 

三元运算符

表达式 ? 成立时执行的代码 : 不成立时执行的代码

 

switch case

在写switch case的时候,大家一定要注意case里面的break必须要写上,不写会发生case穿透,在该语句中所有的case都相当于===的比较操作。

作用:多在于进行一个等值的比较运算

 

循环

break:跳出整个循环,执行循环体之后的代码

continue:跳出本次循环,执行下一次循环

当循环中遇到它们两个,它们之后的代码都不再执行。

 

es6以前,js只有两种作用域:全局和函数,所以i可以在循环体外的任何位置访问。

 

for in 不但可以循环自身的键值对,还可以循环父级对象上的键值对。

当一个属性自身存在并且父级也存在,那么只会循环自身的。

每一次循环,是循环对象的一个键值对,直到将该对象循环完毕。

item 代表当前对象的属性名

 

使用不多

do{
    // 循环体
} while (判断条件);
while (判断条件) {
    // 循环体
}

先执行判断条件,再执行循环体。

 

for...in 语句是一种精准的迭代语句,可以用来枚举对象的属性。

for(var 变量 in 对象) item在每次循环的时候都是属性名

var obj = {
    name: "king",
    age: 18
};
for (var item in obj) {
    console.log(item);
    console.log(obj[item]);    //注意:这个地方不能用.运算符,只能使用[]
}    

 

var box = 12;
function test() {
    i = 18;    //省略var关键字,该变量会成为一个全局变量
    console.log(box);
}
test();
console.log(i);

当没有显示的进行return时,函数会默认的返回undefined

function test() {
    var box = 15;
    if (box >= 18) {
        return "已成年";
    } else {
        return "未成年";
    }
}
console.log(test());

 

定义函数时可以指明形参,调用函数传递进来的是实参

function add(a, b) {
    console.log(a);
    console.log(arguments);
    var a = arguments[0];
    console.log(a);
}

函数实际接受参数的是arguments(类数组对象)

posted @ 2020-07-24 16:52  Crazier_Z  阅读(108)  评论(0编辑  收藏  举报