一个挺有意思的Javascript小问题说明

 更新时间:2011年09月26日 22:11:58   作者:  
目前为止,就我的猜测,javascript执行应该是先做语法分析,然后顺便分析完成了变量表(本地和全局)
先来看以下3段代码
复制代码 代码如下:

var firstName = "Mark";
(function DisplayFirstName() {
console.log(firstName);
})();//必然输出 Mark
var lastName = "Aut";
(function DisplayLastName() {
var lastName = "Bru";
console.log(lastName);
})();//必然输出 Bru, 本地作用域的优先级高于全局作用域
//那么下面这段代码呢?
var lastName = "Aut";
(function DisplayLastName() {
console.log(lastName);
var lastName = "Bru";
console.log(lastName);
})();//谁能猜出结果是什么?

这个输出的结果是:
LOG: undefined
LOG: Bru

这出乎了我的意料, 我原来以为应该是 "Aut" 和 "Bru"的
我原来的理解是: 在程序第一个输出lastName的时候, 程序没有找到本地声明的lastName变量,所以使用了全局的lastName定义, 第二次的时候才使用本地变量的值
(因为在我的概念里,javascript是解释型语言,一句一句的......执行)

看到这个结果,看来javascript的执行并不都是顺序的..
目前为止,就我的猜测,javascript执行应该是先做语法分析,然后顺便分析完成了变量表(本地和全局)
然后才开始顺序执行一行行脚本
还请各位javascript高手解惑

相关文章

  • js DOM的事件常见操作实例详解

    js DOM的事件常见操作实例详解

    这篇文章主要介绍了js DOM的事件常见操作,结合实例形式详细分析了JavaScript DOM事件概念、原理及DOM操作常见实现技巧与使用注意事项,需要的朋友可以参考下
    2019-12-12
  • uniapp抖音小程序一键获取用户手机号的示例代码

    uniapp抖音小程序一键获取用户手机号的示例代码

    文章介绍了如何在uniapp抖音小程序中通过点击按钮一键获取用户手机号,encryptedData和iv通过点击按钮回传,后端部分通过解密获取手机号,感兴趣的朋友一起看看吧
    2024-12-12
  • JS返回顶部实例代码

    JS返回顶部实例代码

    这篇文章主要为大家详细介绍了JS返回顶部实例代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 浅谈键盘上回车按钮的js触发事件

    浅谈键盘上回车按钮的js触发事件

    下面小编就为大家带来一篇浅谈键盘上回车按钮的js触发事件。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 相关JavaScript在览器中实现可视化的四种方式

    相关JavaScript在览器中实现可视化的四种方式

    这篇文章主要介绍了相关JavaScript在览器中实现可视化的四种方式,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-09-09
  • JavaScript表单验证实例之验证表单项是否为空

    JavaScript表单验证实例之验证表单项是否为空

    表单验证几乎在每个需要注册或者是登录的网站都是必不可少,下面通过本篇文章给大家介绍JavaScript表单验证实例之验证表单项是否为空,涉及到js表单验证实例相关知识,对js表单验证实例代码需要的朋友一起学习吧
    2016-01-01
  • Bootstrap 3多级下拉菜单实例

    Bootstrap 3多级下拉菜单实例

    这篇文章主要为大家详细介绍了Bootstrap 3多级下拉菜单实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Javascript变量的作用域和作用域链详解

    Javascript变量的作用域和作用域链详解

    这篇文章主要介绍了Javascript变量的作用域和作用域链详解,本文用一个实例和运行结果来讲解这两个知识,需要的朋友可以参考下
    2015-04-04
  • 微信小程序canvas开发水果老虎机的思路详解

    微信小程序canvas开发水果老虎机的思路详解

    这篇文章主要介绍了微信小程序canvas开发水果老虎机的思路,本文通过思路代码分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02

最新评论