JavaScript中提前声明变量或函数例子

 更新时间:2014年11月12日 09:16:38   投稿:junjie   我要评论
这篇文章主要介绍了JavaScript中提前声明变量或函数的例子,本文介绍的可以说是一种小技巧或者说一种特性,需要的朋友可以参考下

如题所示,看下面的示例。

(可以使用Chrome浏览器,然后F12/或者右键,审查元素.调出开发者工具,进入控制台console输入)
(使用技巧: 控制台输入时Shift+Enter可以中途代码换行)

复制代码 代码如下:

var name = "xiaoming";

(function(){
  var name = name || "小张";
  console.info(name);
})();// 小张

(function(){
  name = name || "小张";
  console.info(name);
})(); // xiaoming

(function(){
  var name2= name;
  var name = name || "小张";
  console.info(name, name2);
})(); // 小张 undefined 

执行时的截图如下所示:

解释如下:

在JavaScript中。

复制代码 代码如下:

function xxx(){
  // 一堆代码...
  // ...
  var name2 = name;
  var name = name || "小张";
  // 一堆代码
}

执行时会变成这种等价形式:

复制代码 代码如下:

function xxx(){
  var name2 = undefined;
  var name = undefined;
  // 其他 var 也会被提前到最起始处
  // 一堆代码...
  // ...
  name2 = name;
  name = name || "小张";
  // 一堆代码
}

相关文章

  • 微信小程序嵌入腾讯视频源过程详解

    微信小程序嵌入腾讯视频源过程详解

    这篇文章主要介绍了微信小程序嵌入腾讯视频源过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • JavaScript 中对象的深拷贝

    JavaScript 中对象的深拷贝

    在JavaScript中,对对象进行拷贝的场景比较常见。但是简单的复制语句只能对对象进行浅拷贝,即复制的是一份引用,而不是它所引用的对象。而更多的时候,我们希望对对象进行深拷贝,避免原始对象被无意修改
    2016-12-12
  • JavaScript实现二分查找实例代码

    JavaScript实现二分查找实例代码

    二分查找的前提为:数组、有序。这篇文章主要介绍了JavaScript实现二分查找实例代码,需要的朋友可以参考下
    2017-02-02
  • javascript 使用 NodeList需要注意的问题

    javascript 使用 NodeList需要注意的问题

    理解NodeList及其近亲NamedNodeMap和HTMLCollection,是从整体上透彻理解DOM的关键所在,这三个集合都是“动态的”,换句话说,每当文档结构发生变化时,他们都会得到更新。
    2013-03-03
  • 教你如何使用firebug调试功能了解javascript闭包和this

    教你如何使用firebug调试功能了解javascript闭包和this

    这篇文章主要介绍了教你如何使用firebug调试功能了解javascript闭包和this,javascript的调试也是一个比较大的难点,很多基础的东西都需要自己去摸索,这里将自己的经验分享给大家,希望对大家能够有所帮助
    2015-03-03
  • js实现转动骰子模型

    js实现转动骰子模型

    这篇文章主要为大家详细介绍了js实现转动骰子模型,自动随机生成骰子数的模型,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • js 按照指定间隔 向字符串中插入随机字符串的实现代码

    js 按照指定间隔 向字符串中插入随机字符串的实现代码

    看到论坛有人问,觉得有意思,就试着写了一下。
    2010-03-03
  • bootstrap-table formatter 使用vue组件的方法

    bootstrap-table formatter 使用vue组件的方法

    Bootstrap table是国人开发的一款基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选、多选、排序、分页,以及编辑、导出、过滤(扩展)等等的功能。这篇文章重点给大家介绍bootstrap-table formatter 使用vue组件的方法,感兴趣的朋友一起看看
    2019-05-05
  • 模仿JQuery.extend函数扩展自己对象的js代码

    模仿JQuery.extend函数扩展自己对象的js代码

    最近打算写个自己的js工具集合,把自己平常经常使用的方法很好的封装起来,其中模仿了jq的结构。
    2009-12-12

最新评论