JavaScript 快速入门 第二式:操作符与流程控制

表达式和操作符

表达式

表达式是若干同类型的数据,通过运算符按照一定规则连接起来的有意义的式子。注意,表达式和语句是不同的概念,比如num1+num2就是一个表达式,而sum=num1+num2则是一个完整的句子。一般来说,表达式常用于给变量赋值或者进行流程控制。

操作符

操作符分为:算数操作符、逻辑操作符、赋值操作符、比较操作符、三元操作符这几类。其中算数操作符比较便于理解,用来进行数字的加减乘除运算。比较操作符有四种:

object1==object2
// ==操作符用于比较两个操作数是否相等
object1===object2
// ===操作符用于比较两个操作数是否既满足值相同,又满足类型也相同
ob1 !=  ob2
// !=操作符用于判断两个操作数是否不同
ob1 !==  ob2
// !==操作符用于判断两个操作数在值不相同的同时,类型是不是也不相同

==和!=比较便于理解,===和!==可以通过下面的表格来记忆:

三元操作符: 条件?代码1:代码2。当条件表达式为真时,执行代码1,当条件表达式为假时,执行代码2。三元操作符可以用来代替if语句以便于方便的实现分支流程。

exp?code1:code2
// 如果exp==true,将执行code1,跳过code2,若exp=false,将执行code2,跳过code1
// 比如,执行过下面的代码后,num将被赋值为1
1==1?num=1:num=2
// 而下面的代码将为num赋值2
1==2?num=1:num=2

JavaScript中逻辑操作符的使用就比较灵活了。逻辑的操作符为boolean型时,使用方法同其他语言中相同。当操作数都不为boolean型时,&&操作符会判断第一个操作数的值,如果第一个操作数为true,就会返回第二个操作数的值,如果第一个操作数为false,就直接返回第一个操作数的值。||操作符同样判断第一个操作数,如果第一个操作数为true,直接返回第一个操作数的值,否则返回第二个操作数的值。可能看文字理解比较绕,通过代码,应该很容易理解。

// &&操作符
// 第一个操作数为真
var test_00=true&&12
var test_01=1&&false
// 第一个操作数为假
var test_10=false&&12
var test_11=0&&true

// ||操作符
// 第一个操作数为真
var test_100=true||12
var test_101=1||false
// 第一个操作数为假
var test_110=false||12
var test_111=0||true

// 输出在控制台查看
console.log("true&&12="+test_00+"     "+typeof(test_00))
console.log("1&&false="+test_01+"     "+typeof(test_01))
console.log("false&&12="+test_10+"     "+typeof(test_10))
console.log("0&&true="+test_11+"     "+typeof(test_11))
console.log("true||12="+test_100+"     "+typeof(test_100))
console.log("1||false="+test_101+"     "+typeof(test_101))
console.log("false||12="+test_110+"     "+typeof(test_110))
console.log("0||true="+test_111+"     "+typeof(test_111))

如上代码定义的8个变量的值和类型都是什么呢?把以上代码写入html文件中,在浏览器打开,查看控制台,通过控制台的输出,可以查看结果如下:

到此为止,基本的算数操作符和逻辑操作符已经学习完了。在之前的学习中,我们已经学习了顺序执行的代码如何书写(但学习编程语言和学习其他东西一样,是要通过练习才能深入贯通的)。接下来,我们将学习,js中的流程控制是怎么实现的。

流程控制语句

在实际操作中,代码往往不是按照顺序一句一句执行的,有的时候,我们需要通过判断,来选择两个代码段中的一个来执行,或者是有一个代码段需要重复执行若干次。这种情况下,就需要根据具体情况,决定代码执行与否和代码执行次数,这就是流程控制。js提供了if、switch来实现选择功能,提供for、for-in、while、do...while来实现循环功能。使用方法如下所示。

if(statement){
    codes
}else if(statement2){
    codes
}else{
    codes
}

switch(statement){
    case one:codes;break;
    ...
    default:codes;
}

for(初始条件;判断条件;变值处理){
    codes
}

while(statement){
    codes
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值