JavaScript常用语句
JavaScript常用语句
| 语句 | 语法 | 说明 |
| 简单语句 | ; | 语句以;分号结束 |
| 语句块 | {} | 将一组语句组成语句块,ES中没有语句块作用域,也可用作对象字面量 |
| 添加标签语句 | label | 给代码添加标签供其它语句使用。 (例如break和continue,中断指定标签语句) |
| 分支结构语句 | if | 条件选择,在条件表达式中,会将结果隐式转换为Boolean类型。 |
| switch | 多分支判断语句 | |
| 循环结构语句 | while / do-while | 满足条件才执行循环体 / 先执行循环体,再进行条件判断 |
| for | for语句和while功能相同,都为循环,只是将初始化,条件判断,递增递减结合一起。 | |
| for-in | for循环另一形式,遍历对象的属性和对象原型链上的属性。 | |
| 跳转结构语句 | return | 返回语句,在return之后没有返回时,返回undefined。 |
| break | 在switch语句中,不继续执行下面的case语句。 | |
| continue | 在循环语句中中断本次循环,执行下一次循环。 | |
| 异常处理语句 | try | 将代码放在try块中,使得异常发生时能够做出相应的处理。 |
| throw | 抛出异常语句。 | |
| 调试语句 | debugger | 调试语句 |
| 作用域设置语句 | with | 将代码的作用域设置到一个特定的对象中。 (不推荐使用,不好控制结果) |
部分细节说明:
label 语句
label:statement; //给代码添加标签供跳转语句使用。
break label; //用在循环语句中中断整个循环。 continue label; //在循环语句中中断本次循环,执行下一次循环。
switch 语句
//switch结构
switch(expression) //表达式不限于整型,可以是任意表达式 { case value1: //value可以是整型也可以是其它类型或一个表达式,但比较时不会进行类型转换,而且使用全等(===)进行匹配。 statement1; break; //在找到匹配的case分支后,不继续执行下面的case语句。 case value2: statement2; break;
default: //如果都未匹配,则执行default下的语句。 statement; }
while / do-while
while(expression) //条件判断会有隐式转换
{
statement; //满足条件才执行循环体。如果一开始就不满足条件,则根本不会执行循环体。
}
do{
statement; //先执行循环体,再进行条件判断,这种格式至少会执行一次循环。
}while(expression); //条件判断会有隐式转换
for循环 性能优化,避免每次循环都要计算范围值
// 1.基本格式的for循环,i大部分直接复制给指定数组的长度
for(var i=0; i < arr.length; i++){
} // 2.上面在每一次循环都会重新计算一次arr的长度,如过arr是dom操作的话,会非常明显的影响效率,不推荐使用
var l = arr.length;
for(var i=0,l=arr.length; i<l; i++){
} // 3. 如果循环为递减,可以直接设为i
for(var i=arr.length; i>0; i--){
}
return语句注意点
return //由于引擎会在return后自动添加分号,这里实际会返回undefined,不能使用该写法
{
prop:'value';
} return { //这样写才和预期一样,会返回一个对象
prop:'value';
}
try-catch 语句
try{ //try后面必须接catch或finally
//执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容
}catch(e){
//除非try里面执行代码发生了异常,否则这里的代码不会执行
}finally{
//finally可以没有,也可以只有一个。无论有没有发生异常,它总会在这个异常处理结构的最后运行。
//即使你在try块内用return返回了,在返回前,finally总是要执行,这以便让你有机会能够在异常处理最后做一些清理工作。如关闭数据库连接等等。
//注意:如果没有catch语句块,那么finally块就是必须的。
}
throw 主动抛出异常
try{
throw "test"; //主动抛出异常
}catch(e){
console.log(e); //test
}finally{
console.log('finally'); //finally
}
如果内部的异常没有处理抛给了外面,在外面处理之前要处理里面的finally顺序
try{
try{
throw newError "oops";
}finally{
console.log('finally'); //finally 如果内部的异常没有处理抛给了外面,在外面处理之前要处理里面的finally顺序
}
}catch(e){
console.log("outer", ex.message); // outer oops
}finally{
console.log('finally'); //finally
}
只要内部的异常没有处理抛给了外面,在外面处理之前要处理里面的finally顺序
try{
try{
throw newError "oops";
}catch(e){
console.log("inner", ex.message); // inner oops
throw e;
}finally{
console.log('finally'); //finally 只要内部的异常没有处理抛给了外面,在外面处理之前要处理里面的finally顺序
}
}catch(e){
console.log("outer", ex.message); // outer oops
}finally{
console.log('finally'); //finally
}
JavaScript常用语句的更多相关文章
- JS常用语句
JavaScript常用语句 1.document.write(""); 输出语句 2.JS中的注释为 // 3.传统的HTML文档顺序是: document-& ...
- JavaScript 常用功能总结
小编吐血整理加上翻译,太辛苦了~求赞! 本文主要总结了JavaScript 常用功能总结,如一些常用的JS 对象,基本数据结构,功能函数等,还有一些常用的设计模式. 目录: 众所周知,JavaScri ...
- JavaScript之语句,循环
JavaScript中语句主要分为三类:顺序,分支,循环. 1.顺序语句: 按照循序依次执行,最普通常见的语句,这里不多赘述. 其结构如下 2.分支语句: 根据条件判断,不同的结果执行不同的语句. 其 ...
- mo系统常用语句
mo系统常用语句 一.总结 一句话总结: 1.语言:双语设置(繁体,英语)语句? {:chooseLanguage("確定要刪除么","Are you sure you ...
- Javascript常用的设计模式详解
Javascript常用的设计模式详解 阅读目录 一:理解工厂模式 二:理解单体模式 三:理解模块模式 四:理解代理模式 五:理解职责链模式 六:命令模式的理解: 七:模板方法模式 八:理解javas ...
- 系统学习javaweb补充1----HTML常用语句
HTML 常用语句 一.单行文本框语法格式 <input type="text" name="输入信息的名字" value="输入信息的值&qu ...
- SQL server 常用语句
SQL Server中常用的SQL语句 1.概述 2.查询概述 3.单表查询 4.连接查询 5.带有exists的相关子查询 6.SQL的集合操作 7.插入操作 8.删除操作 9.修改操作 10. ...
- select元素javascript常用操作 转
/*------------------------------------------------------ *作者:xieyu @ 2007-08-14 *语言:JavaScript *说明:s ...
- mysql常用语句总结
1.创建语句 CREATE DATABASE database_name //创建数据库 //删表 DROP TABLE IF EXISTS `t_social_user_extend`; //建表C ...
随机推荐
- 反向代理在APP通过无线路由接入3G/4G时的特殊作用
由于某些需求,要临时搭建局域网络,给小范围内大量移动客户端提供特定的网络服务,这样的服务通常包含常见的HTTP服务.数据文件下载服务.RESTFul接口服务等.市面常见的非企业级WIFI路由器能够承受 ...
- ThreadLocal使用原理、注意问题、使用场景
想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理.首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码 ...
- 高并发 Nginx+Lua OpenResty系列(10)——商品详情页
本章以京东商品详情页为例,京东商品详情页虽然仅是单个页面,但是其数据聚合源是非常多的,除了一些实时性要求比较高的如价格.库存.服务支持等通过AJAX异步加载加载之外,其他的数据都是在后端做数据聚合然后 ...
- 修改linux(kali)和windows双系统下默认启动系统和启动延时
我的公众号,正在建设中,欢迎关注: windows和kali双系统安装完成后kali是默认的启动系统,现将windows设置为默认启动系统并更改选择系统等待时间 1.开机时当运行到系统选择菜单时记下w ...
- HBase —— 集群环境搭建
一.集群规划 这里搭建一个3节点的HBase集群,其中三台主机上均为Regin Server.同时为了保证高可用,除了在hadoop001上部署主Master服务外,还在hadoop002上部署备用的 ...
- Linux命令之nohup (转)
nohup 详解 阅读目录 nohup 案例 nohup和&的区别 参考链接 正文 回到顶部 nohup nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略 ...
- nginx之gzip压缩
nginx的gizp压缩 为了使网站节省带宽和加快访问速度,在服务器方面的一个优化的就是使用nginx提供的gzip压缩. 一.使用压缩原理: 1.当用户使用浏览器访问网站时,就是在发送一个http请 ...
- package.json 详解
使用package.json 属性说明 name - 包名. version - 包的版本号. description - 包的描述. homepage - 包的官网 url . author - ...
- 嵊州D1T4 cf1174E 占梦人
嵊州D1T4 cf1174E 此题为改编题,原题:cf1174E 占梦人 占梦人一个晚上会做 n 个梦,编号为 1 ∼ n,她可以安排做这 n 个梦的顺序. 假如她第一个做了编号为 x 的梦,那么她的 ...
- 十代雅阁广东车友群,雅阁广州车友群,深圳雅阁车友群,雅阁微信群、雅阁车友群、十代雅阁交流微信QQ群
最近一直在关注第十代雅阁,不论是普通汽油版本还是油电混动版本都很不错,在网上看到很多评测文章和视频 后续都会整理发布到微信群中. 由于论坛发帖,博客发文都不是很方便,为了及时沟通,先创建了微信群,方便 ...