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变量
May 25 Javascript
19个很有用的 JavaScript库推荐
Jun 27 Javascript
IE6下focus与blur错乱的解决方案
Jul 31 Javascript
基于jQuery实现的旋转彩圈实例
Jun 26 Javascript
浅谈js的url解析函数封装
Jun 28 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
Sep 13 Javascript
jquery单击文字或图片内容放大并居中显示
Jun 23 jQuery
Vue实现web分页组件详解
Nov 28 Javascript
vue富文本编辑器组件vue-quill-edit使用教程
Sep 21 Javascript
jQuery表单选择器用法详解
Aug 22 jQuery
vue 组件内获取actions的response方式
Nov 08 Javascript
js DOM的事件常见操作实例详解
Dec 16 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
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
深入剖析JavaScript中的枚举功能
2014/03/06 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
js中用cssText设置css样式的简单方法
2016/09/19 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
分析javascript原型及原型链
2018/03/18 Javascript
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
2019/11/20 Javascript
JS如何生成动态列表
2020/09/22 Javascript
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
python单链表实现代码实例
2013/11/21 Python
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
2015/05/22 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
Python导入模块时遇到的错误分析
2017/08/30 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
tensorflow保持每次训练结果一致的简单实现
2020/02/17 Python
tensorflow常用函数API介绍
2020/04/19 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
Oracle性能调优原则
2012/05/03 面试题
大学生军训自我鉴定
2014/02/12 职场文书
产品质量承诺范本
2014/03/31 职场文书
协议书的格式
2014/04/23 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server