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 相关文章推荐
Jquery中getJSON在asp.net中的使用说明
Mar 10 Javascript
jquery实现选中单选按钮下拉伸缩效果
Aug 06 Javascript
详解JavaScript中基于原型prototype的继承特性
May 05 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
May 30 Javascript
Bootstarp基本模版学习教程
Feb 01 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
Feb 08 Javascript
JavaScript实现表单注册、表单验证、运算符功能
Oct 15 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
Oct 23 Javascript
Vue实现导航栏点击当前标签变色功能
Aug 19 Javascript
详解基于Vue/React项目的移动端适配方案
Aug 23 Javascript
React倒计时功能实现代码——解耦通用
Sep 18 Javascript
nuxt 路由、过渡特效、中间件的实现代码
Nov 06 Javascript
浅谈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
使用Apache的rewrite技术
2006/06/22 PHP
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
PHP中模拟链表和链表的基本操作示例
2016/02/27 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
双击滚屏-常用推荐
2006/11/29 Javascript
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
详解参数传递四种形式
2015/07/21 Javascript
JS简单测试循环运行时间的方法
2016/09/04 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
2017/10/28 jQuery
React中的refs的使用教程
2018/02/13 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
微信小程序的tab选项卡的实现效果
2019/05/15 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
Python中为什么要用self探讨
2015/04/14 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
Django实现跨域请求过程详解
2019/07/25 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
发现两个有趣的CSS3动画效果
2013/08/14 HTML / CSS
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
Marlies Dekkers内衣荷兰官方网店:荷兰奢侈内衣品牌
2020/03/27 全球购物
爽歪歪广告词
2014/03/20 职场文书
银行金融服务方案
2014/06/11 职场文书
机关作风建设自查报告
2014/10/22 职场文书
2014年售票员工作总结
2014/11/19 职场文书
七一建党节慰问信
2015/02/14 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书