1.JavaScript条件语句
通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。
在 JavaScript 中,我们可使用以下条件语句:
- 只有当指定条件为 true 时,使用该语句来执行代码
if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
if...else if....else 语句- 使用该语句来选择多个代码块之一来执行
switch 语句 - 使用该语句来选择多个代码块之一来执行
if 语句
只有当指定条件为 true 时,该语句才会执行代码。
if (condition){
当条件为 true 时执行的代码
}
if(true){
console.log("1321")
}
if...else 语句
if (condition){
当条件为 true 时执行的代码
}else{
当条件不为 true 时执行的代码
}
if(false){
console.log('true')
}else{
console.log('false')
}
if...else if...else 语句
if (condition1){
当条件 1 为 true 时执行的代码
}else if (condition2){
当条件 2 为 true 时执行的代码
}else{
当条件 1 和 条件 2 都不为 true 时执行的代码
}
switch 语句
使用 switch 语句来选择要执行的多个代码块之一。
格式:
switch(n) {
case 1: 执行代码块 1 break;
case 2: 执行代码块 2 break;
default: 与 case 1 和 case 2 不同时执行的代码
}
工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。
2.JavaScript 循环
如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。
JavaScript 支持不同类型的循环:
for - 循环代码块一定的次数
for/in - 循环遍历对象的属性
while - 当指定的条件为 true 时循环指定的代码块
do/while - 同样当指定的条件为 true 时循环指定的代码块。
2.1 for 循环
for 循环是您在希望创建循环时常会用到的工具。下面是 for 循环的语法:
for (语句 1; 语句 2; 语句 3){
被执行的代码块
}
var cars=['宝马','奔驰','本田','大众']
for (var i = 0; i < cars.length; i++) {
document.write(cars[i] + "<br>");
}
2.2 for/In 循环
JavaScript for/in 语句循环遍历对象的属性.
for (x in person){
txt=txt + person[x];
}
2.3 while 循环
while 循环会在指定条件为真时循环执行代码块。
语法
while (条件){
需要执行的代码
}
var cars=['宝马','奔驰','本田','大众']
while (cars[i])
{
document.write(cars[i] + "<br>");
i++;
}
2.4do/while 循环
do/while 循环是 while 循环的变体。该循环会在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环。
语法
do{
需要执行的代码
}
while (条件);
var cars=['宝马','奔驰','本田','大众']
do {
document.write(cars[i] + "<br>");
i++;
} while (cars[i]);
3JavaScript break 和 continue 语句
break 语句用于跳出循环。
continue 用于跳过循环中的一个迭代。
3.1break 语句
break 语句可用于跳出循环。
break 语句跳出循环后,会继续执行该循环之后的代码(如果有的话)。
3.2continue 语句
continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。
4.JavaScript 错误
当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误。
可能是语法错误,通常是程序员造成的编码错误或错别字。
可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。
可能是由于来自服务器或用户的错误输出而导致的错误。
当然,也可能是由于许多其他不可预知的因素。
4.1JavaScript try 和 catch
try 语句允许我们定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
JavaScript 语句 try 和 catch 是成对出现的。
语法格式:
try {
... //异常的抛出
} catch(e) {
... //异常的捕获与处理
} finally {
... //结束处理
}
try {
console.log(a);
} catch (error) {
console.log(error);
}finally{
console.log('一直在运行');
}
4.2 finally 语句
finally 语句不论之前的 try 和 catch 中是否产生异常都会执行该代码块。
4.3 throw 语句
throw 语句允许我们创建自定义错误。
正确的技术术语是:创建或抛出异常(exception)。
如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。
语法
throw exception
异常可以是 JavaScript 字符串、数字、逻辑值或对象。
5.JavaScript 变量提升
- 把变量的声明提升到作用域的最顶端,不包括变量的赋值。
- 函数提升,把函数的声明提升到当前作用域的最上面,不包 括函数调用。
- 在预解析过程中,变量名和函数名一样时,函数优先。
- JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。
- JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。
6.javascript:void(0)
我们经常会使用到 javascript:void(0) 这样的代码,那么在 JavaScript 中 javascript:void(0) 代表的是什么意思呢?
javascript:void(0) 中最关键的是 void 关键字, void 是 JavaScript 中非常重要的关键字,该操作符指定要计算一个表达式但是不返回值。
语法格式如下:
void func()
javascript:void func()
或者
void(func())
javascript:void(func())
下面的代码创建了一个超级链接,当用户点击以后不会发生任何事。
<a href="javascript:void(0)">单击此处什么也不会发生</a>
//当用户链接时,void(0) 计算为 0,但 Javascript 上没有任何效果。
href="#"与href="javascript:void(0)"的区别
# 包含了一个位置信息,默认的锚是#top 也就是网页的上端。
而javascript:void(0), 仅仅表示一个死链接。
在页面很长的时候会使用 # 来定位页面的具体位置,格式为:# + id。
如果你要定义一个死链接请使用 javascript:void(0) 。