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 相关文章推荐
HTML TO JavaScript 转换
Jun 26 Javascript
Javascript 静态页面实现随机显示广告的办法
Nov 17 Javascript
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
Dec 30 Javascript
js DOM 元素ID就是全局变量
Sep 20 Javascript
jQuery使用技巧简单汇总
Apr 18 Javascript
js获取当前时间显示在页面上并每秒刷新
Dec 24 Javascript
javascript中函数作为参数调用的方法
Feb 09 Javascript
浅谈Web页面向后台提交数据的方式和选择
Sep 23 Javascript
angularjs ui-router中路由的二级嵌套
Mar 10 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
Mar 23 jQuery
vue实现微信浏览器左上角返回按钮拦截功能
Jan 18 Javascript
canvas多重阴影发光效果实现
Apr 20 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
PHILIPS D1835/D1875的电路分析与打理
2021/03/02 无线电
PHP常用算法和数据结构示例(必看篇)
2017/03/15 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
2010/07/06 Javascript
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
js实现的切换面板实例代码
2013/06/17 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
2015/01/28 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
2016/12/14 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
详谈DOM简介及节点、属性、查找节点的方法
2017/11/16 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
详解使用mocha对webpack打包的项目进行"冒烟测试"的大致流程
2020/04/27 Javascript
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
2018/03/19 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
django实现web接口 python3模拟Post请求方式
2019/11/19 Python
深入浅析python的第三方库pandas
2020/02/13 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
python实现音乐播放和下载小程序功能
2020/04/26 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
2020/09/03 Python
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
医学专业个人求职自荐信格式
2013/09/23 职场文书
生产总经理岗位职责
2013/12/19 职场文书
合作意向协议书范本
2014/03/31 职场文书
师德师风建设方案
2014/05/08 职场文书
西岭雪山导游词
2015/02/06 职场文书
JS高级程序设计之class继承重点详解
2022/07/07 Javascript