实例讲解js中的预编译
来源:互联网 发布:mac地址认证 编辑:程序博客网 时间:2024/05/22 12:31
js作为一本脚本语言,可以不经过编译直接运行,但遇到预编译的问题,尤其是变量或函数同名时,这点知识就尤其必要了。为了更好地了解js语言背后的运行机理。笔者采用实例化的方式讲解我理解的预编译。
理解预编译首先要弄清楚两种概念:函数声明和变量赋值。
这种形式的写法是函数声明,即声明一个函数,脚本在执行之前会做预编译处理。
这种写法是变量赋值,函数在js语言里也是一种数据,匿名函数作为变量赋值给定义的变量。这种形式在预编译处理阶段,只会给变量ledi分配一个内存空间,不会做初始化。初始化过程中会在执行时执行。
好了,弄清楚以上概念,上实例。实例参考(点击此处)。原作者只详细解释了前两个实例,而笔者看来,接着的两个也非常重要,那么笔者就甄别出代表性来讲解。
示例代码一:
这段代码,首先判断两个都属于函数声明。都会在预编译阶段处理,而函数名相同,会按后定义的来定义函数,在执行阶段只会看到后定义的函数结果,也就不难理解了。
示例代码二:
这段代码,首先判断两种都属于变量赋值。在预编译阶段,两个变量名一样,分配一个内存空间存放变量ledi内容。当代码执行时,按照顺序执行和赋值,会先后得到两种结果。
示例代码三:
这段代码,首先判断,前一种属于函数声明,后一种属于变量赋值。预编译处理完,首先执行第二行,实际上是第一行的内容,第三行相当于将ledi变量重新赋值即初始化,重新赋值后,第四行执行第三行的函数。
示例代码四:
以上代码分开执行,可验证,函数预编译会执行,变量赋值则是先分配空间,执行时再赋值。
0 0
- 实例讲解js中的预编译
- 实例讲解js中的预编译
- 实例讲解js中的预编译
- Handlebars.js 预编译
- js预编译机制
- JS之预编译
- js预编译规则
- js预编译
- loadTemplate.js 实例讲解
- C++中的预编译
- C中的预编译
- JDBC中的预编译
- C++中的预编译
- JDBC中的预编译
- C++预编译头文件讲解
- JS中的prototype讲解
- js的预编译理解
- js 当中的预编译
- java.lang.NoClassDefFoundError: com.umeng.analytics.mobclickagent
- Asp.net页面间传值的四种方式
- windbg解决线程死锁
- Linux下设置IP的配置命令
- Socket通信——Windows下,使用Winsock,C++
- 实例讲解js中的预编译
- tomcat如何配置到Windows服务里
- Socket通信——Java语言
- IOS开发之实现App消息推送
- Mac 实用工具
- 字节数组byte[]和整型,浮点型数据的转换——Java代码
- jsp/servlet相关技术 (二) --- jsp的原理、注释、声明、脚本等
- cocos2dx关于size的知识
- HDU 1285--确定比赛名次【拓扑排序 && 邻接表实现】