JavaScript DOM编程艺术学习心得系列 ——(四)JavaScript语法之操作、条件语句

1. 操作

之前给出的示例都非常简单,只是创建了一些不同类型的变量。要用 JavaScript 做一些有用的工作,还需要能够进行计算和处理数据。也就是需要完成一些操作(operation)。

1.1 算术操作符

在 JavaScript 中加减乘除这些算术操作(arithmetic operation)都必须借助相应的操作符(operator),加(+)减(-)乘(*)除(/)。下面是操作的示例:

1+4
1+4*5

如果你怕产生歧义也可以用括号来提示优先级,像下面这样:

(1+4)*5
1+(4*5)

变量也可以包含操作:

var total = (1+4)*5;

还可以对变量进行操作:

var temp = 95;
var temp_1 = (temp - 32) / 4;

JavaScript 还提供了一些很有用的操作符,比如:

num = num + 1;
num++;

这两个操作的效果是一样的,num 的值都+1了。“–”操作符就是会让变量值减一。
在 JavaScript 中“+”的作用很广,它可以作用于数值,也可以作用于字符串。下面就是作用于字符串的操作:

var text = "hello" + "world";

这种把多个字符串首尾相连的操作叫做拼接(concatenation),这种拼接也可以通过变量来完成:

var text = "Hello";
var text_1 = text + "World";

甚至可以把数值和字符串连接在一起,因为 JavaScript 是一种弱类型语言,所以这种操作是允许的。此时,数值将被自动转换为字符串:

var year = 234;
var text = "Hello" + year;

需要注意的是如果把字符串和数值拼接在一起,其结果将是一个更长的字符串;但如果是拼接两个数值,其结果会是两个数值的算术和,比如下面这两个:

alert("10" + 20);
alert(10 + 20);

第一条将返回字符串“1020”,第二条将返回数值30。
还有另一个非常有用的快捷操作符是“+=”,它可以一次完成“加法和赋值”操作:

var year = 2020;
var message = "This year is";
message += year;

执行完这些语句之后,变量 message 的值将是“This year is 2020”。

2. 条件语句

此前介绍的语句都是相对比较简单的声明或运算,而脚本的真正威力体现在它们还可以根据人们给出的各种条件作出决策。JavaScript 使用条件语句(conditional statement)来做判断。
条件语句即设置一个条件,只有满足了这一条件才能让更多的语句得到执行。常见的条件语句是 if 语句,下面是 if 语句的用法示例:

if(1>2){
	alert("Hello World");
}

条件语句中条件必须放在 if 后面的圆括号中,而且条件的求值结果永远是一个布尔值,即只能是 true 或 false。而且只有在给定条件的求值结果是 true 的情况时花括号中的语句才会执行。
条件语句在 if 后的花括号中只有一条语句时可以不用花括号,还可以与条件放在同一行:

if(1>2) alert("Hello World");

不过,因为花括号可以提高脚本的可读性,在 if 语句中总用花括号是个好习惯。if 语句可以有一个 else 字句,包含在 else 字句中的语句会在给定条件为假时执行:

if(1>2)
{
	alert("Hello World");
}else{
	alert("Hi!");
}

2.1 比较操作符

JavaScript 提供了许多几乎只能用在条件语句里的操作符,其中包括诸如大于(>)、小于(<)、大于或等于(>=)、小于或等于(<=)、等于( == )之类的比较操作符。
需要注意的是,在条件语句的条件中当你想要用等于的操作时,要用( == )而不能用(=),单个等于号意思是赋值,两个等于号同用才是等于的意思:

var fir = "sun";
var sen = "wind";
if (fir = sen){
	alert("对了");
}

上面的语句必然会成功,因为条件判断处是赋值操作,正确的用法是下面这样:

var fir = "sun";
var sen = "wind";
if (fir == sen){
	alert("对了");
}

这一次条件的判断结果就是正确的 false 了。但是相等操作符==并不表示严格相等,具体体现如下:

var fir = false;
var sen = "";
if (fir == sen){
	alert("对了");
}

这个条件语句的求值结果是 true ,为什么?因为相等操作符==认为空字符串与 false 的含义相同。如果你想进行严格比较,就要使用另一种等号 === 。而且这个全等操作符会执行严格的比较,不仅比较值,还会比较变量的类型:

var fir = false;
var sen = "";
if (fir === sen){
	alert("对了");
}

这一次,条件表达式的结果就是 false 了。因为即使可以认为 false 与空字符串具有相同的含义,但 Boolean 和 String 可不是一种类型。还有不等操作符!=也是如此,如果想严格不相等,就要使用!==。

2.2 逻辑操作符

JavaScript 允许把条件语句里的操作组合在一起。如果你想要看看变量 num 的值是不是在5~10之间,那么就需要进行两次比较,看看 num 是否大于等于五还小于等于十,这两次比较操作称为逻辑比较(operand)。下面是两次逻辑比较组合在一起的具体做法:

if(num>=5 && num<=10){
	alert("对了");
}

这里用到了“逻辑与”操作符( && ),逻辑操作符的操作对象是布尔值。每个逻辑操作数返回一个布尔值 true 或 false。逻辑与操作只有在它的两个操作数都是 true 时才会是 true。
还有“逻辑或”操作符,由两个垂直线字符构成( || )。逻辑或操作在它的两个操作数有一个是 true 时就是 true。

if(num>10 || num<5){
	alert("Hello");
}

JavaScript 还提供了一个“逻辑非”操作数,它由一个感叹号(!)单独构成。“逻辑非”操作符只能作用于单个逻辑操作数,其结果是把那个逻辑操作数所返回的布尔值取反。

if( !(1>2) ){
	alert("对的");
}

请注意,为了避免歧义,上面这条语句把逻辑操作数放在了括号里,因为我想让“逻辑非”操作符作用于括号里的所有内容。“逻辑非”操作符还可以把整个条件语句的结果颠倒过来。

if( !(num>10 || num<5) ){
	alert("Hello");
}

3. 没啥用的废话

今天的内容量就少了不少,我估摸了一下,这么分配内容量能好点,就这样吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值