运算符与控制流
好的,我会详细介绍 JavaScript 的运算符和控制流。
运算符
JavaScript 中的运算符主要可以分为以下几类:
赋值运算符:如
=
,+=
,-=
,*=
,/=
,%=
,**=
等,用于赋值。算术运算符:如
+
,-
,*
,/
,%
,++
,--
等,用于进行基本的数学运算。比较运算符:如
==
,===
,!=
,!==
,>
,<
,>=
,<=
等,用于进行比较,返回一个布尔值。逻辑运算符:如
&&
(与),||
(或),!
(非),用于进行逻辑操作。位运算符:如
&
(按位与),|
(按位或),^
(按位异或),~
(按位非),<<
(左移),>>
(右移),>>>
(无符号右移)等,用于进行位操作。三元运算符:
? :
,用于进行条件判断。类型运算符:如
typeof
,instanceof
等,用于判断数据类型或实例。其他运算符:如
void
,delete
,in
等。
以下是一些特别要注意的点:
==
和===
的区别:==
会进行类型转换,===
不会进行类型转换,也被称为严格等于。++
和--
可以放在变量前也可以放在变量后,放在前面叫做前置运算,放在后面叫做后置运算,两者在赋值操作时会有不同的结果。&&
和||
具有短路效应,即在确定结果后,不会再执行后续的操作。- 位运算符只对整数有效,进行操作时,JavaScript 会把数字转换为 32 位整数,并且返回结果也是 32 位整数。
typeof
返回的是字符串,表示类型,instanceof
用来检测构造函数的prototype
属性是否出现在对象的原型链中的任何位置。void
运算符的主要用途是得到undefined
,以及在链接中执行 JavaScript 代码但不返回超链接。delete
运算符用于删除对象的属性,删除成功或者删除的属性不存在时返回true
,删除失败时返回false
。in
运算符用于检查对象是否含有某个属性,如果对象本身或者原型链上有这个属性,返回true
,否则返回false
。
控制流
JavaScript 的控制流有以下几个主要的知识点:
条件语句:条件语句用于基于不同的条件来执行不同的代码块。
if
语句:只有当指定条件为真时,使用这个语句来执行代码。if...else
语句:当条件为真时执行代码,当条件为假时执行其他代码。if...else if...else
语句:用于指定多个要被执行的条件。switch
语句:用于选择多个要被执行的代码块。
循环语句:循环可以执行一段代码块多次。
for
循环:在代码块已经被指定的次数执行后停止。for/in
循环:循环遍历对象的属性。for/of
循环:循环遍历可迭代对象(例如数组,字符串,NodeList 等)的值。while
循环:只要指定的条件为真,就会执行代码块。do...while
循环:会先执行一次代码块,然后只要指定的条件为真,就会重复执行代码块。
跳转语句:改变正常的控制流。
break
语句:用于跳出循环或者 switch 语句。continue
语句:跳过循环中的一次迭代。return
语句:结束函数的执行,并返回一个值。throw
语句:抛出(生成)错误。
错误处理语句:
try...catch
语句:标记要尝试的语句块,并指定一个错误发生时的响应。