条件语句
在js中,条件语句主要是以下:
- if语句 — 只有当指定条件为 true 时,使用该语句来执行代码;
- if…else 语句 — 当条件为 true 时执行代码,当条件为 false 时执行其他代码;
- if…else if…else 语句— 使用该语句来选择多个代码块之一来执行;
- switch 语句— 使用该语句来选择多个代码块之一来执行。
循环语句
- for - 循环代码块一定的次数
- for/in - 循环遍历对象的属性
- while - 当指定的条件为 true 时循环指定的代码块
- do/while - 同样当指定的条件为 true 时循环指定的代码块
1.for循环:for(表达式1; 表达式2; 表达式3) {循环语句};
2.for/in 循环遍历对象的属性或数组中的元素
常用于遍历对象
<script>
var obj = {
name: '小王',
age: 18
}
for (var k in obj) {
console.log(obj[k]);
}
</script>
就可以拿到对象的属性值啦!
3. while循环
条件为true进行循环,执行循环体程序,直到遇到break语句退出循环。
4. do-while循环
先执行do里面的程序再去看while里是否满足条件,满足则继续执行,不满足则跳出循环。
5. break 用于跳出循环。可以与标签label结合使用来指定跳出循环。
continue用来略过循环中剩下的语句,重新开始下一次新的循环**
严格模式
严格模式通过在脚本或函数的头部添加 “use strict” 表达式来声明。要注意在严格模式下的规则:
- 在脚本中声明表示全局作用域:
<script>
"use strict";
x = 300; //x is not defined 会报错
</script>
- 在函数内部声明是局部作用域 (只在函数内使用严格模式):
<script>
x = 300; //这里不声明不会报错的
fn();
function fn() {
"use strict";
y = 400; //报错
}
</script>
为什么使用严格模式:
- 消除代码运行的一些不安全之处,保证代码运行的安全;
- 提高编译器效率,增加运行速度;
- 为未来新版本的Javascript做好铺垫。
严格模式的限制:
- 不允许使用未声明的变量。对象也是一个变量
<script>
"use strict";
obj = {p1: 10, p2: 20}; //报错
</script>
- 不允许删除变量或对象
- 不允许删除函数
- 不允许变量名重名
"use strict"
var a = 100;
var a = 200; //不会报错,可以覆盖前面的变量值,但let声明的不行
function f(p1, p2) {} //报错,p1、p2未声明,故报错
- 禁止this关键字指向全局对象
<script>
"use strict";
function f() {
return this;
}
console.log(f()); //undefined
</script>