JavaScript难点——变量提升和函数提升(三)
来源:互联网 发布:虚拟视频软件电脑 编辑:程序博客网 时间:2024/05/21 09:42
前端菜鸟的成长之路
关于函数和变量同时提升的问题,代码如下
console.log(a);function a(){};var a = 1;
输出结果为:function a(){}
分析一:
var a;function a(){};console.log(a);a = 1;
分析二:
function a(){};var a;console.log(a);a = 1;
两种分析的争论点在 var 和 function 到底谁在最顶上,我们用分析一的结果来做个测试,如下:
var a;console.log(typeof a); //function 假设分析一是对的,此处应该是undefinedfunction a(){};console.log(typeof a); //functionconsole.log(a); //function a(){}a = 1;console.log(typeof a); //number
一目了然了吧,可见函数提升比变量提升更靠前(函数声明比变量声明具有更高的优先级)。
正确的分析如下:
function a(){}; //函数提升 名称a进入当前作用域 typeof a为function var a; //变量提升 声明的部分会被忽略 typeof a为functionconsole.log(a); //输出 function a(){}a = 1; //a被赋值 typeof a为number
阅读全文
1 0
- JavaScript难点——变量提升和函数提升(三)
- JavaScript难点——变量提升和函数提升(一)
- JavaScript难点——变量提升和函数提升(二)
- JavaScript—变量提升、函数提升
- JavaScript变量提升和函数提升
- javascript中的变量提升和函数提升
- JavaScript:变量提升和函数提升
- javascript变量提升和函数提升
- JavaScript—变量提升
- 变量提升和函数提升
- javascript 变量/函数 提升
- javascript中的变量提升和函数提升详解
- javascript中的变量提升和函数声明提升
- JavaScript 中的变量和函数提升
- 【转】JavaScript 中的变量和函数提升
- JavaScript——变量提升
- 浅谈JavaScript变量提升与函数提升
- 函数和变量提升
- 自定义控件(9)控制控件属性的保存方式PersistenceMode
- rtsp详解二之wireshark抓包分析
- HDU5631——Rikka with Graph【并查集】
- [Java注意点]
- 抽象类与抽象方法
- JavaScript难点——变量提升和函数提升(三)
- 高德地图定位
- IJKPlayer如何支持https
- Android 中pdfView的使用
- 简单页面+java后台+数据库,实现从页面对数据库的增删改查
- 简单验证码的识别(matlab实现)
- Android WiFi从app到driver详解
- 拓扑排序简介+hdu4857逃生(逆向建图+拓扑排序)
- 十条不错的编程观点