javascript预编译原理和例子
来源:互联网 发布:arraymap遍历数据 编辑:程序博客网 时间:2024/06/06 00:30
先看代码:
<script> alert( typeof vv); var vv= "variable" ; function vv() { alert( "function vv" ); } alert(vv); </script>
执行结果是”function”和”variable”。
照理说,一开始,vv有变量声明,有vv函数的函数声明,但vv的函数声明覆盖了变量声明,所以typeof vv为 function.
然后vv被赋值为”variable”。所以,后面一个alert(vv)的结果为:variable。
但当上面的代码变为:
<script> alert( typeof vv); function vv() { alert( "function vv" ); } var vv= "variable" ; alert(vv); </script>
执行结果也一样,这就有蹊跷了!!!说明了,JS解析器是:先预声明变量,再预定义函数 的。
小结一下:JS 在执行前会进行类似”预编译”的操作,而且先预定义变量再预定义函数。
0 0
- javascript预编译原理和例子
- JavaScript预编译原理分析
- Javascript预编译和处理
- Javascript预编译和执行过程
- Javascript的预编译和执行顺序
- Javascript预编译和执行过程
- Javascript预编译和执行过程
- Javascript预编译和执行过程
- javascript的预编译和执行顺序
- JavaScript作用域原理——预编译
- PreparedStatement 预编译原理
- JDBC-预编译原理
- PreparedStatement 预编译原理
- PreparedStatement 预编译原理
- javascript预编译
- javascript预编译
- javascript之预编译
- javaScript的预编译
- java正则表达式 校验邮箱 身份证号 手机号等
- 人脸检测(opencv)
- HDU1166 敌兵布阵 线段树||树状数组 入门题复习
- 【转】React组件声明周期
- [Sencha ExtJS6 Modern] 改进bug: field控件框在reset之后,控件框清除了,但是getValue()还能获取旧值,而且setValue(旧值)没反应
- javascript预编译原理和例子
- mysql 使用set names 解决乱码问题的原理
- Java RandomAccessFile随机读取文件
- 解决Qt程序在Linux下无法输入中文的办法
- 使用Lock来实现生产者和消费者问题
- Win7 64位系统上配置使用32位的Eclipse
- 监控云—反盗版软件之利器!
- 访问webview屏蔽https证书
- UESTC 94 - Bracket Sequence(线段树+区间合并)