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 相关文章推荐
JavaScript检查某个function是否是原生代码的方法
Aug 20 Javascript
bootstrap3 兼容IE8浏览器!
May 02 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
May 03 Javascript
AngularJS基础 ng-mouseover 指令简单示例
Aug 02 Javascript
JS实现获取当前URL和来源URL的方法
Aug 24 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
Nov 28 Javascript
深入探究angular2 UI组件之primeNG用法
Jul 26 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
Sep 07 Javascript
深入理解ES7的async/await的用法
Sep 09 Javascript
使用socket.io实现简单聊天室案例
Jan 02 Javascript
jQuery 选择方法及$(this)用法实例分析
May 19 jQuery
js实现验证码干扰(动态)
Feb 23 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
理解PHP5中static和const关键字的区别
2007/03/19 PHP
php编程实现获取excel文档内容的代码实例
2011/06/28 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
2014/05/28 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
php使用escapeshellarg时中文被过滤的解决方法
2016/07/10 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
一个原生的用户等级的进度条
2010/07/03 Javascript
jquery ajax方式直接提交整个表单核心代码
2013/08/15 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
基于javascript canvas实现五子棋游戏
2020/07/08 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
Python中获取对象信息的方法
2015/04/27 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
2019/06/17 Python
通过python实现弹窗广告拦截过程详解
2019/07/10 Python
python构造IP报文实例
2020/05/05 Python
你需要学会的8个Python列表技巧
2020/06/24 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
2020/09/11 Python
python批量修改交换机密码的示例
2020/09/22 Python
Linden Leaves官网:新西兰纯净护肤品
2020/12/20 全球购物
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
求职信需要的五点内容
2014/02/01 职场文书
致200米运动员广播稿
2014/02/06 职场文书
股权转让协议书
2014/04/12 职场文书
二年级学生评语大全
2014/04/23 职场文书
老龄工作先进事迹
2014/08/15 职场文书
2014年扶贫工作总结
2014/11/18 职场文书
2014年销售经理工作总结
2014/12/01 职场文书
教师党员自我评价2015
2015/03/04 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书