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入门必备的基本认识及实例(整理)
Jun 24 Javascript
ie 7/8不支持trim的属性的解决方案
May 23 Javascript
Iframe实现跨浏览器自适应高度解决方法
Sep 02 Javascript
JS简单操作select和dropdownlist实例
Nov 26 Javascript
prototype.js常用函数详解
Jun 18 Javascript
jQuery中常用动画效果函数(日常整理)
Sep 17 Javascript
javascript中Date对象的使用总结
Nov 21 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
Feb 19 Javascript
JS区分Object与Aarry的六种方法总结
Feb 27 Javascript
详解在vue-test-utils中mock全局对象
Nov 07 Javascript
vue prop属性传值与传引用示例
Nov 13 Javascript
js实现弹窗效果
Aug 09 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将对象转换成数组的方法(兼容多维数组类型)
2013/06/21 PHP
ThinkPHP3.1新特性之内容解析输出详解
2014/06/19 PHP
JQuery 选择器 xpath 语法应用
2010/05/13 Javascript
客户端限制只能上传jpg格式图片的js代码
2010/12/09 Javascript
在 Express 中使用模板引擎
2015/12/10 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
BootStrapValidator初使用教程详解
2017/02/10 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
2019/02/08 Javascript
少女风vue组件库的制作全过程
2019/05/15 Javascript
[45:16]完美世界DOTA2联赛循环赛 IO vs FTD BO2第二场 11.05
2020/11/06 DOTA
使用python调用浏览器并打开一个网址的例子
2014/06/05 Python
python获取各操作系统硬件信息的方法
2015/06/03 Python
在win和Linux系统中python命令行运行的不同
2016/07/03 Python
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
python中numpy包使用教程之数组和相关操作详解
2017/07/30 Python
python 检查是否为中文字符串的方法
2018/12/28 Python
python字符串替换第一个字符串的方法
2019/06/26 Python
python 画二维、三维点之间的线段实现方法
2019/07/07 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
Python如何读写CSV文件
2020/08/13 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
python中的插入排序的简单用法
2021/01/19 Python
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
解释一下钝化(Swap out)
2016/12/26 面试题
市场营销个人求职信范文
2014/02/02 职场文书
大学生活动策划方案
2014/02/10 职场文书
债务授权委托书范本
2014/10/17 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
安徽导游词
2015/02/12 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
超市食品安全承诺书
2015/04/29 职场文书
债务纠纷起诉书
2015/05/20 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书