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 相关文章推荐
基于jQuery的ajax功能实现web service的json转化
Aug 29 Javascript
JS 表单验证大全
Nov 23 Javascript
js渐变显示渐变消失示例代码
Aug 01 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
Aug 21 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
Jul 30 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
Jan 22 Javascript
javascript实现全角转半角的方法
Jan 23 Javascript
原生JS简单实现ajax的方法示例
Nov 29 Javascript
webpack构建换肤功能的思路详解
Nov 27 Javascript
在vue项目中,使用axios跨域处理
Mar 07 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
Apr 19 jQuery
uniapp电商小程序实现订单30分钟倒计时
Nov 01 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中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
浅谈mysql_query()函数的返回值问题
2016/09/05 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
从js向Action传中文参数出现乱码问题的解决方法
2013/12/29 Javascript
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
JS设置网页图片vspace和hspace属性的方法
2015/04/01 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
2016/09/04 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
2017/09/11 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
2019/01/30 Javascript
使用异步controller与jQuery实现卷帘式分页
2019/06/18 jQuery
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
Vue结合路由配置递归实现菜单栏功能
2020/06/16 Javascript
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
Python socket编程实例详解
2015/05/27 Python
Python中的FTP通信模块ftplib的用法整理
2016/07/08 Python
Python内置模块hashlib、hmac与uuid用法分析
2018/02/12 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
2019/06/28 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
使用Django清空数据库并重新生成
2020/04/03 Python
Django Form常用功能及代码示例
2020/10/13 Python
解决Pycharm 运行后没有输出的问题
2021/02/05 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
初一学生评语大全
2014/04/24 职场文书
感谢信怎么写
2015/01/21 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
SQL语句中JOIN的用法场景分析
2021/07/25 SQL Server
排查MySQL生产环境索引没有效果
2022/04/11 MySQL
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server