js作用于和预编译
2010-05-02 23:11
267 查看
1.js在页面加载过程中顺序执行。但是分块预编译、执行。
2.JS 在执行前会进行类似"预编译"的操作,而且先预声明变量再预定义函数。
此时注意,是声明,不是定义,如:var a = 1; 在预编译中,只是执行了"var a"没有赋值,即在预编译结束时a 为undefined。
3.(注意)并不是先全文编译完在执行,而是块编译,即一个script块中,预编译再执行,然后(按顺序)下一个script块,预编译再执行,但此时上一个块中的数据都是可以用的,但下一个块中的函数,声明的变量都是不可用的。
4.变量没声明就引用,会报错,但对象方法,对象变量没声明,是undefined
5.在函数中变量不声明就赋值,会被认为是全局变量,用var声明后为函数变量
6.在执行函数时时也是先编译后执行,但要注意函数定义中(即大括号中)的代码即使有错只要函数不执行,就不会有影响,但一执行函数,开始函数预编译就会出错。
2.JS 在执行前会进行类似"预编译"的操作,而且先预声明变量再预定义函数。
此时注意,是声明,不是定义,如:var a = 1; 在预编译中,只是执行了"var a"没有赋值,即在预编译结束时a 为undefined。
3.(注意)并不是先全文编译完在执行,而是块编译,即一个script块中,预编译再执行,然后(按顺序)下一个script块,预编译再执行,但此时上一个块中的数据都是可以用的,但下一个块中的函数,声明的变量都是不可用的。
4.变量没声明就引用,会报错,但对象方法,对象变量没声明,是undefined
5.在函数中变量不声明就赋值,会被认为是全局变量,用var声明后为函数变量
6.在执行函数时时也是先编译后执行,但要注意函数定义中(即大括号中)的代码即使有错只要函数不执行,就不会有影响,但一执行函数,开始函数预编译就会出错。
相关文章推荐
- js作用于和预编译
- JS作用域和预编译(转载 学习中。。。)
- Js作用域与作用域链详解
- node.js process nextTick作用
- js中的<!-- -->有什么作用
- 老生常谈原生JS执行环境与作用域
- java中和js中this关键字的作用
- JS的预解析和作用域浅析
- Javascript基础回顾之(二) js作用域
- 引入JS和CSS文件加版本号的作用
- vue.js中created方法作用
- js中window.location.search的用法和作用。
- JS作用域
- js中三种作用域详解(全局,函数,块级)
- JS作用域
- 关于JS中for循环时,作用域问题和this指针指向的总结
- 【前端知识点】详解js变量、作用域及内存
- js事件委托和call()作用
- JS中函数名后面的括号加与不加的区别和作用?
- JS中冒号的作用