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中计算网页中某个元素的位置
Jun 10 Javascript
JavaScript电子时钟倒计时
Jan 09 Javascript
JQuery遍历元素的后代和同胞实现方法
Sep 18 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
Dec 05 jQuery
javascript随机变色实例代码
Oct 15 Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
Oct 31 Javascript
vue 取出v-for循环中的index值实例
Nov 09 Javascript
js this 绑定机制深入详解
Apr 30 Javascript
vue中el-input绑定键盘按键(按键修饰符)
Jul 22 Javascript
vue elementui tree 任意级别拖拽功能代码
Aug 31 Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
Oct 14 Javascript
详解vue3中组件的非兼容变更
Mar 03 Vue.js
浅谈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
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
JavaScript实现基于Cookie的存储类实例
2015/04/10 Javascript
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
微信小程序实现弹出菜单功能
2018/06/12 Javascript
微信小程序实现单选选项卡切换效果
2020/06/19 Javascript
详解基于 Node.js 的轻量级云函数功能实现
2019/07/08 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
vue data引入本地图片的两种方式小结
2019/11/13 Javascript
Python中字符串的处理技巧分享
2016/09/17 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
浅谈Python3实现两个矩形的交并比(IoU)
2020/01/18 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
AJAX都有哪些有点和缺点
2012/11/03 面试题
与UNIX有关的几个名词
2015/09/17 面试题
抄作业检讨书
2014/02/17 职场文书
个人安全生产承诺书
2014/05/22 职场文书
验房委托书
2014/08/30 职场文书
小学感恩节活动策划方案
2014/10/06 职场文书
有限责任公司股东合作协议书范本
2014/10/30 职场文书
长城导游词
2015/01/30 职场文书
暑假安全保证书
2015/02/28 职场文书
个人售房合同协议书
2016/03/21 职场文书
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android