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 相关文章推荐
Cookie 小记
Apr 01 Javascript
javascript 面向对象 function类
May 13 Javascript
jQuery UI的Dialog无法提交问题的解决方法
Jan 11 Javascript
JS函数实现动态添加CSS样式表文件
Dec 15 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
Jun 13 Javascript
jquery、js操作checkbox全选反选
Mar 12 Javascript
jquery仿百度百科底部浮动导航特效
Aug 08 Javascript
Jquery操作Ajax方法小结
Nov 29 Javascript
JS中appendChild追加子节点无效的解决方法
Oct 14 Javascript
JavaScript Tab菜单实现过程解析
May 13 Javascript
基于JS实现table导出Excel并保留样式
May 19 Javascript
JavaScript实现无限轮播效果
Nov 19 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实现ping
2006/10/09 PHP
3.从实例开始
2006/10/09 PHP
php输出xml必须header的解决方法
2014/10/17 PHP
yii用户注册表单验证实例
2015/12/26 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
event对象的方法 兼容多浏览器
2009/06/27 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
围观tangram js库
2010/12/28 Javascript
jquery.tmpl JQuery模板插件
2011/10/10 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
Angular页面间切换及传值的4种方法
2016/11/04 Javascript
Angularjs 事件指令详细整理
2017/07/27 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
JSON基本语法及与JavaScript的异同实例分析
2019/01/04 Javascript
详解Vue-Router源码分析路由实现原理
2019/05/15 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
keras:model.compile损失函数的用法
2020/07/01 Python
python跨文件使用全局变量的实现
2020/11/17 Python
英国领先的野生鸟类食品供应商:GardenBird
2018/08/09 全球购物
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
餐厅考勤管理制度
2014/01/28 职场文书
冰峪沟导游词
2015/02/09 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
公司的力量观后感
2015/06/05 职场文书
永不妥协观后感
2015/06/10 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js