基本上,咱们天天都在和 JavaScript
中的各类语句进行着 沟通
,那些咱们常常见面的 老朋友
,或者是不曾见面的 新朋友
,它们共同维护着 JavaScript
的流程,让咱们的程序稳步运行。那么,你是否对它们足够了解呢前端
若是文章中有出现纰漏、错误之处,还请看到的小伙伴多多指教,先行谢过git
如下↓es6
JavaScript
区分表达式和语句。表达式是输出值的,而且能够写在任何须要一个值的地方.笼统来讲,一个语句表示执行了一个动做
语法:github
if (condition) statement1 else statement2 // condition 值为真或假的表达式 // statement1 当 condition 为真时执行的语句 // statement2 当 condition 为假时执行的语句
if
语句大概是咱们接触特别多的条件语句了,根据不一样的判断条件执行不一样的逻辑web
多层if...else
语句可以使用else if
从句
if (condition1) statement1 else if (condition2) statement2 ... else statementN
switch
语句评估一个表达式,将表达式的值与case
子句匹配,并执行与该状况相关联的语句
语法:express
switch (expression) { case value1: // 代码块 break; case value2: // 代码块 ... default // 代码块 }
switch
在比较值时,使用的是全等操做符===
,所以不会发生类型转换若是多个
case
与提供的值匹配,则选择匹配的第一个case
数组若是没有
case
子句相匹配,程序则会寻找那个可选的default
子句,若是找到了,将控制权交给它,执行相关语句;若没有就执行完switch
语句浏览器若
break
被省略,程序会继续执行switch
语句中的下一条语句数据结构
do-while
是一种后测试循环语句,即只有在循环体中的代码执行以后,才会测试出口条件。换句话说,在对表达式求值以前,循环体内的代码至少会被执行一次
语法:wordpress
do { statement } while(expression)
while
语句属于前测试循环语句,即在循环体内的代码被执行以前,就会测试出口条件
语法:
while(expression) statement
当测试条件一直为真的状况下,就会造成一个死循环。因此在执行阶段,咱们颇有必要为循环设定结束条件
for
语句也是前测试循环语句,它具备执行循环以前初始化变量和定义循环后要执行的代码的能力
示例:
var count = 10; for(var i = 1; i < count; i++){ // 代码块 }
for
循环的执行顺序是 变量赋值==>判断条件==> (符合就执行代码块,再执行 ++
操做) == (不符合就直接跳出循环)
使用while
循环作不到的,使用for
循环一样也作不到,for
循环只是把与循环有关的代码集中在了一个地方
for-in
语句是一种精准的迭代语句,用来枚举对象的属性
语法:
for (variable in object) {...}
for...in
循环只遍历可枚举属性
for..in
循环输出的属性名的顺序是不可预测的。具体来说,全部属性都会被返回一次,但返回的前后次序可能会因浏览器而异
for...in
会遍历存在于原型对象的可枚举属性
for..in
不适合遍历数组 数组的属性就是它的索引
for...of 是ES6
新增的迭代方式,规定了一个数据结构只要部署了Symbol.iterator
属性,就被视为具备iterator
接口,就能够用for...of
循环遍历它的成员,它的出现就是在必定程度上补充了for...in
的不足
语法:
for (variable of object) {...}
具体能够 点击这里
break
和continue
语句用于在循环中精确地控制代码的执行
break
语句会当即退出循环,强制执行循环后面的语句;continue
语句虽然也是当即退出循环,可是退出循环后会从循环的底部继续执行
var num = 0; for(var i = 1; i < 10; i++) { if(i % 5 === 0 ) { break; } num++; } num // 4 for(var i = 1; i < 10; i++) { if(i % 5 === 0) { continue; } num++ } num // 8
使用
label
语句能够在代码中添加标签,以便未来使用
语法:
label: statement
label
语句通常都会配合 break
和 continue
使用,多用于多重循环
var count = 0; loop1: for(var i = 0; i < 10; i++) { loop2: for(var j = 0; j < 10; j++) { if (i == 5 && j == 5) { continue loop1; } count++ } } count // 95 // 不使用 label 语句的状况下会从里面的循环从新开始,使用 label 标识会从标识的循环从新开始
with
语句的做用是将代码的做用域设置到一个特定的对象中,主要目的是为了简化屡次编写同一个对象的操做
var qs = location.search.substring(1); var hostName = location.hostname; var url = location.href; // 改写以下 with(location) { var qs = search.substring(1); var hostName = hostname; var url = href; } // 使用 with 语句关联了 location 对象
严格模式下不容许使用with
语句
with
会延长做用域大量使用
with
语句会形成程序性能降低
debugger
语句,用来产生一个断点,代码的执行会停在断点的位置,这时使用调试器来输出变量的值
语法:
;
通常状况下,空语句会配合 for
循环来使用
for(;;;){ // 产生一个死循环 }
固然,在 JavaScript
中还有其余的一些语句,好比声明语句、复合语句等。了解它们的用法,咱们就能在合适的场景去更好地使用它们,让咱们的代码更加优雅
若是你也是一个前端爱好者,若是你也想了解、分享更多前端的技能和有趣的东西,点击这里 你将看到更多分享,欢迎 star
关注
期待同行
以上