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 || "小张";
  // 一堆代码
}

相关文章

  • javascript实现数组中的内容随机输出

    javascript实现数组中的内容随机输出

    本文实例讲述了javaScript数组随机排列实现随机洗牌功能的方法。分享给大家供大家参考。
    2015-08-08
  • JavaScript 实现日期时间转时间戳

    JavaScript 实现日期时间转时间戳

    这篇文章主要介绍了JavaScript 实现日期时间转时间戳,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • BootStrap智能表单实战系列(七)验证的支持

    BootStrap智能表单实战系列(七)验证的支持

    这篇文章主要介绍了BootStrap智能表单实战系列(七)验证的支持 ,凡是涉及到用户编辑信息然后保存的页面,都涉及到一个数据是否符合要求的检查,需要客服端和服务器端的校验的问题,本文介绍非常详细,具有参考价值,需要的朋友可以参考下
    2016-06-06
  • 字符串反转_JavaScript

    字符串反转_JavaScript

    split()方法将一个字符串对象的每个字符拆出来,并且将每个字符串当成数组的每个元素 reverse()方法用来改变数组,将数组中的元素倒个序排列,第一个数组元素成为最后一个,最后一个变成第一个 join()方法将数组中的所有元素边接成一个字符串
    2016-04-04
  • JavaScript的arguments对象应用示例

    JavaScript的arguments对象应用示例

    使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们,下面为大家介绍下其具体的应用
    2014-09-09
  • JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)

    JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)

    这篇文章主要介绍了JS实现对中文字符串进行utf-8的Base64编码的方法,对比java的base64编码程序,分析了javascript实现base64编码的相关技巧,需要的朋友可以参考下
    2016-06-06
  • Javascript实现商品秒杀倒计时(时间与服务器时间同步)

    Javascript实现商品秒杀倒计时(时间与服务器时间同步)

    在一些购物商城经常看到有很多商品做秒杀活动,也就是倒计时,本篇文章给大家介绍Javascript实现商品秒杀倒计时(时间与服务器时间同步),需要的朋友可以了解下
    2015-09-09
  • 详解webpack解惑:require的五种用法

    详解webpack解惑:require的五种用法

    这篇文章主要介绍了详解webpack解惑:require的五种用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题

    zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题

    Swipe JS 是一个轻量级的移动滑动组件,支持 1:1 的触摸移动,阻力以及防滑性能都不错,可以让移动web应用展现更多的内容,能解决我们对于移动Web对滑动的需求。下面小编给大家介绍zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题,需要朋友可以参考下
    2015-08-08
  • p5.js实现声音控制警察抓小偷游戏示例解析

    p5.js实现声音控制警察抓小偷游戏示例解析

    这篇文章主要为大家介绍了p5.js实现声音控制警察抓小偷游戏示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04

最新评论