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 相关文章推荐
Flash+XML滚动新闻代码 无图片 附源码下载
Nov 22 Javascript
javaScript 判断字符串是否为数字的简单方法
Jul 25 Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
Nov 06 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
Oct 17 Javascript
JS的数组迭代方法
Feb 05 Javascript
JS更改select内option属性的方法
Oct 14 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
Oct 15 Javascript
jQuery Validation Plugin验证插件手动验证
Jan 26 Javascript
jQuery原理系列-常用Dom操作详解
Jun 07 Javascript
jQuery实现html双向绑定功能示例
Oct 09 jQuery
JavaScript中为事件指定处理程序的五种方式分析
Jul 27 Javascript
js实现数字滚动特效
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采集类Snoopy抓取图片实例
2014/06/19 PHP
Codeigniter校验ip地址的方法
2015/03/21 PHP
PHP和MYSQL实现分页导航思路详解
2017/04/11 PHP
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
jQuery学习笔记 获取jQuery对象
2012/09/19 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
jquery实现模拟百分比进度条渐变效果代码
2015/10/29 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
ES6学习之变量的解构赋值
2017/02/12 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
jQuery事件委托代码实践详解
2019/06/21 jQuery
js实现贪吃蛇小游戏
2019/10/29 Javascript
使用Mixin设计模式进行Python编程的方法讲解
2016/06/21 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
深入浅析Python的类
2018/06/22 Python
python 实现UTC时间加减的方法
2018/12/31 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
sklearn中的交叉验证的实现(Cross-Validation)
2021/02/22 Python
Farfetch香港官网:汇集全球时尚奢侈品购物平台
2017/11/26 全球购物
英国电子专家:maplin
2019/09/04 全球购物
.NET程序员的几道面试题
2012/06/01 面试题
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
18岁生日感言
2014/01/12 职场文书
合作意向书格式及范文
2014/03/31 职场文书
《庐山的云雾》教学反思
2014/04/22 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
诉讼授权委托书
2014/10/15 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
2015年财政局工作总结
2015/05/21 职场文书
钱学森电影观后感
2015/06/04 职场文书
公司保密管理制度
2015/08/04 职场文书