博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读书笔记-你不知道的JS上-声明提升
阅读量:5220 次
发布时间:2019-06-14

本文共 721 字,大约阅读时间需要 2 分钟。

变量声明提升

 

  Javascript代码一般情况下是由上往下执行的,但是有些情况下不成立。

a = 2;    //变量声明被提升在当前作用域顶部    var a;    console.log(a); //2    console.log(b); //undefined    //同样被提升    var b;

  如果同时有函数声明与变量声明呢?

console.log(a); //funciton a(){}    var a;    //函数先提升 变量后提升 因此变量的声明被忽略    function a() {}

  两个函数声明呢?

fn(); //输出了2!    function fn() {        console.log(1);    }    //后声明的函数覆盖了前面的函数    //可以理解为 var a = 1; var a = 2    function fn() {        console.log(2);    }

  另外一个案例在chrome中报错了,估计是浏览器优化过,但是不在判断语句中声明函数是一个好的习惯。

fn(); //error    var a = true;    if (a) {        function fn() {            console.log(1);        }    } else {        function fn() {            console.log(2);        }    }

 

转载于:https://www.cnblogs.com/QH-Jimmy/p/6445140.html

你可能感兴趣的文章
ORACLE基本操作备忘
查看>>
Maven学习:项目之间的关系
查看>>
SQL查询总结 - wanglei
查看>>
安装cocoa pods时出现Operation not permitted - /usr/bin/xcodeproj的问题
查看>>
makefile中使用变量
查看>>
GIT笔记:将项目发布到码云
查看>>
JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别
查看>>
JavaScript 鸭子模型
查看>>
PHP典型功能与Laravel5框架开发学习笔记
查看>>
SQL Server 如何查询表定义的列和索引信息
查看>>
项目上传到github上
查看>>
GCD 之线程死锁
查看>>
NoSQL数据库常见分类
查看>>
JS小工具_字符串转16进制数组_02
查看>>
信息安全系统设计基础实验四—20135214万子惠20135227黄晓妍
查看>>
一题多解 之 Bat
查看>>
Java 内部类
查看>>
测试一个对象是否是类字符串
查看>>
{面试题7: 使用两个队列实现一个栈}
查看>>
[转]SQL中 OVER(PARTITION BY) 取上一条,下一条等
查看>>