js-权威指南学习笔记4
2017-01-09 18:45
330 查看
第五章 语句
1、在JS中没有块级作用域,在语句块中声明的变量并不是语句块私有的。
2、尽管函数声明语句和函数定义表达式具有相同的函数名,但二者仍然不同。两种方式都创建了新的函数对象,但函数声明语句中的函数名是一个变量名,变量指向函数对象,和通过var声明变量一样,函数定义语句中的函数被显式地提前到了脚本或函数的顶部(函数名和函数体均提前),因此它们在整个脚本和函数内都是可见的。使用var的函数定义表达式的话,只有变量声明提前了,变量的初始化代码仍然在原来的位置。
3、for/in循环不会遍历对象的所有属性,只有可枚举的属性才会被遍历到。
4、通过给循环定义一个标签名,可以在循环体内部使用break和continue来退出循环或者直接跳转到下一个循环的开始。break和continue是唯一可以使用语句标签的。通常用来跳出非最近的循环体。
5、使用while来完全模拟for循环是不可能的,因为有continue时的行为表现不一致。即使用try-finally使每次都能自增,也会在try语句块中有break时产生差别。
1、在JS中没有块级作用域,在语句块中声明的变量并不是语句块私有的。
2、尽管函数声明语句和函数定义表达式具有相同的函数名,但二者仍然不同。两种方式都创建了新的函数对象,但函数声明语句中的函数名是一个变量名,变量指向函数对象,和通过var声明变量一样,函数定义语句中的函数被显式地提前到了脚本或函数的顶部(函数名和函数体均提前),因此它们在整个脚本和函数内都是可见的。使用var的函数定义表达式的话,只有变量声明提前了,变量的初始化代码仍然在原来的位置。
3、for/in循环不会遍历对象的所有属性,只有可枚举的属性才会被遍历到。
4、通过给循环定义一个标签名,可以在循环体内部使用break和continue来退出循环或者直接跳转到下一个循环的开始。break和continue是唯一可以使用语句标签的。通常用来跳出非最近的循环体。
5、使用while来完全模拟for循环是不可能的,因为有continue时的行为表现不一致。即使用try-finally使每次都能自增,也会在try语句块中有break时产生差别。
相关文章推荐
- 基于jsp+servlet图书管理系统之后台用户信息删除操作
- 170109、JSONP是什么
- js跨域
- js dom操作获取节点的一些方法
- 新手入门学javascript基础笔记与实例
- jsonp跨域
- 《你不知道的JavaScript》读书笔记(一)
- JS动态修改表格内容
- js小tips和小笔记
- javascript 的null和undefined
- JavaScript常用
- FastJson---高性能JSON开发包
- 读书笔记-JavaScript面向对象编程(二)
- jvm jstat使用
- js获取select选中的值
- 《JS高程(3)》-第6章笔记(01)
- H5本地存储详细使用教程(localStorage + JSON数据存储应用框架)
- 关于通过Gson解析JSon数据
- js中函数没有重载,只有覆盖
- 关于json格式的数据添加数据的问题