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


Posted in Javascript onNovember 12, 2014

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

(可以使用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中提前声明变量或函数例子

解释如下:

在JavaScript中。

function xxx(){

  // 一堆代码...

  // ...

  var name2 = name;

  var name = name || "小张";

  // 一堆代码

}

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

function xxx(){

  var name2 = undefined;

  var name = undefined;

  // 其他 var 也会被提前到最起始处

  // 一堆代码...

  // ...

  name2 = name;

  name = name || "小张";

  // 一堆代码

}
Javascript 相关文章推荐
JS去除数组重复值的五种不同方法
Sep 06 Javascript
实现51Map地图接口(示例代码)
Nov 22 Javascript
jQuery中事件对象e的事件冒泡用法示例介绍
Apr 25 Javascript
AngularJS 依赖注入详解和简单实例
Jul 28 Javascript
归纳下js面向对象的几种常见写法总结
Aug 24 Javascript
AngularJS中的Promise详细介绍及实例代码
Dec 13 Javascript
学习使用Bootstrap栅格系统
May 11 Javascript
利用jQuery实现简单的拖曳效果实例代码
Oct 20 jQuery
详解VueJS应用中管理用户权限
Feb 02 Javascript
JQuery实现折叠式菜单的详细代码
Jun 03 jQuery
mapboxgl区划标签避让不遮盖实现的代码详解
Jul 01 Javascript
Vue 打包后相对路径的引用问题
Jun 05 Vue.js
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
Nov 12 #Javascript
js在IE与firefox的差异集锦
Nov 11 #Javascript
超炫的jquery仿flash导航栏特效
Nov 11 #Javascript
推荐JavaScript实现继承的最佳方式
Nov 11 #Javascript
使用 js+正则表达式为关键词添加链接
Nov 11 #Javascript
jQuery 动态云标签插件
Nov 11 #Javascript
javascript 回调函数详解
Nov 11 #Javascript
You might like
Laravel 5框架学习之表单验证
2015/04/08 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
textContent在Firefox下与innerText等效的属性
2007/05/12 Javascript
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
JS 新增Cookie 取cookie值 删除cookie 举例详解
2014/10/10 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
全面解析Bootstrap中transition、affix的使用方法
2016/05/30 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
JS实现给json数组动态赋值的方法示例
2020/03/19 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
2020/05/16 Javascript
jQuery zTree如何改变指定节点文本样式
2020/10/16 jQuery
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
Python Pandas实现数据分组求平均值并填充nan的示例
2019/07/04 Python
python几种常用功能实现代码实例
2019/12/25 Python
浅谈Django中的QueryDict元素为数组的坑
2020/03/31 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
2020/06/30 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
总经理办公室主任岗位职责
2013/11/12 职场文书
销售人员自我评价
2014/02/01 职场文书
大学军训感言300字
2014/03/09 职场文书
跳槽求职信范文
2014/05/26 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
小学生读书笔记范文
2015/06/30 职场文书
大学生社会服务心得体会
2016/01/22 职场文书