JavaScript中函数声明优先于变量声明的实例分析


Posted in Javascript onMarch 01, 2012
var a; // 声明一个变量,标识符为a 
function a() { // 声明一个函数,标示符也为a 
} 
alert(typeof a);

显示的是“function”,即function的优先级高于var。
有人觉得这是代码顺序执行的原因,即a被后执行的funcion覆盖了。好,将它们调换下。
function a() { 
} 
var a; 
alert(typeof a);

结果仍然显示的是“function”而非“undefined”。即函数声明优先于变量声明。
我们把代码稍作修改,声明a时同时赋值。

function a() { 
} 
var a = 1; // 注意此处 
alert(typeof a);

这时显示的是“number”却不是“function”了,这相当于

function a() { 
} 
var a; 
a = 1; // 注意此处 
alert(typeof a);

即把“var a = 1”拆分为两步。 a被重新赋值了,自然是最后的那个值。
Javascript 相关文章推荐
js Flash插入函数免激活代码
Mar 31 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
Aug 07 Javascript
js控制表单不能输入空格的小例子
Nov 20 Javascript
学习javascript面向对象 理解javascript对象
Jan 04 Javascript
js学习阶段总结(必看篇)
Jun 16 Javascript
Vue.js每天必学之计算属性computed与$watch
Sep 05 Javascript
Bootstrap整体框架之JavaScript插件架构
Dec 15 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
Jan 11 Javascript
vue.js中Vue-router 2.0基础实践教程
May 08 Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
Sep 10 Javascript
vue toggle做一个点击切换class(实例讲解)
Mar 13 Javascript
Vue-Router基础学习笔记(小结)
Oct 15 Javascript
Jquery提交表单 Form.js官方插件介绍
Mar 01 #Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
Mar 01 #Javascript
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
Mar 01 #Javascript
javascript中IE浏览器不支持NEW DATE()带参数的解决方法
Mar 01 #Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
Mar 01 #Javascript
JavaScript版DateAdd和DateDiff函数代码
Mar 01 #Javascript
js编码之encodeURIComponent使用介绍(asp,php)
Mar 01 #Javascript
You might like
php中使用Curl、socket、file_get_contents三种方法POST提交数据
2011/08/12 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
Prototype Function对象 学习
2009/07/12 Javascript
基于jquery的动态创建表格的插件
2011/04/05 Javascript
扩展JS Date对象时间格式化功能的小例子
2013/12/02 Javascript
按Enter键触发事件的jquery方法实现代码
2014/02/17 Javascript
js检测浏览器版本、核心、是否移动端示例
2014/04/24 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
JavaScript对象参数的引用传递
2016/01/14 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
2018/07/27 Javascript
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
Python制作爬虫采集小说
2015/10/25 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
Django之PopUp的具体实现方法
2019/08/31 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
使用豆瓣源来安装python中的第三方库方法
2021/01/26 Python
浅谈CSS3中display属性的Flex布局的方法
2017/08/14 HTML / CSS
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
WatchShop法国:英国排名第一的独立手表零售商
2020/02/17 全球购物
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
会计学个人自荐信模板
2013/12/13 职场文书
活动总结书
2014/05/08 职场文书
2014企业领导班子四风对照检查材料思想汇报
2014/09/17 职场文书
房屋买卖协议书范本
2014/09/27 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书