1、作用域

    一般情况下,一段代码中所用到的名字并不总是有效可用的,
    而限定这个名字(变量)的可用性的代码范围就是这个名字的作用域,可用有效的减少变量名冲突
    2、js的作用域(es6)之前:全局作用域,局部作用域
    3、全局作用域:整个script标签 或者是单独的JS文件
    4、局部作用域(函数作用域),在函数内部就是局部作用域,这个变量名只能在函数内部使用
    5、变量作用域
    根据作用域的不同,变量分为全局变量,局部变量

注意

    如果在函数内部没有声明直接赋值的变量也叫全局变量
    函数的形参也是局部变量
    全局变量:只有浏览器关闭的时候才会销毁,比较占内存
    局部变量:当程序执行完毕就会销毁,比较节约内存
    6、现阶段JS没有块级作用域
    在es6中有块级作用域
    块级作用域 {} if{} for{}
    7、作用域链
    内部函数访问外部函数 采用的就是链试这种结果就是作用域链 (就近原则)

预解析

    先预解析 然后执行代码
    JS引擎会把var和function全部提到当前作用域的最前面然后按照代码的顺序从上往下执行
    预解析分为 变量预解析 和 函数预解析
    变量提升~~~~~~ 变量声明提升到当前作用域的最前面 不提升赋值操作
    函数提升~~~~~~ 函数声明提升到当前作用域的最前面 不调用函数
    函数表达式函数的调用必须写在函数表达式函数的下面
     // 局部变量
function fn() {
var num = 9;
console.log(num);
}
fn() // 作用域链
var num = 7; function fn1() { // 外部函数
var num = 3; function fn2() { // 内部函数 内部函数可以访问外部函数
console.log(num);
var sum = 4;
}
fn2()
}
fn1() console.log(num1); //坑1
var num1 = 80 fun() //坑2
var fun = function () {
console.log(66); } // 经典预解析案例
f1()
console.log(c);
console.log(b);
console.log(a); function f1() {
var a = b = c = 9;
// 相当于var a=9;b=9;c=9 b,c 没有声明直接赋值就是全局变量
console.log(a);
console.log(b);
console.log(c);
}
// 99999 a is not defined
 

最新文章

  1. 面筋BD
  2. Matlab 视频与图像之间的相互转换
  3. apache 局域网访问
  4. 移植SlidingMenu Android library,和安装example出现的问题解决
  5. html5画布的旋转效果
  6. XMl各种格式转换功能代码
  7. paip.字符串操作uapi java php python总结..
  8. delphi 在 DragDrop 的时候,滚动 TreeView
  9. C++基类和派生类之间的转换
  10. Spring 学习笔记01
  11. php基础知识(很简单一套适合零基础的朋友学习)
  12. Android_scaleType属性
  13. Python之匿名函数
  14. python select.select模块通信全过程详解
  15. nexus2 配置
  16. CSS实现左侧多级菜单栏
  17. 《mysql必知必会》学习_第15章_20180806_欢
  18. ListView优化中的细节问题
  19. 【Matplotlib】利用Python进行绘图
  20. hbase-java-api002(flush)

热门文章

  1. java 数据结构(八):Iterator接口与foreach循环
  2. 数据可视化之PowerQuery篇(六)PowerQuery技巧:批量合并Excel表的指定列
  3. 没内鬼,来点干货!SQL优化和诊断
  4. vue :关于引用jquery的二三问题
  5. 时间序列知识图谱-《利用Python进行数据分析》
  6. HTTP请求方式及常见问题
  7. ant design pro/前端/JS:实现本地运行https
  8. linux实现shell脚本监控磁盘内存达到阈值时清理catalina.out日志
  9. vue学习(十) v-for循环普通数组 、对象数组、 迭代数字
  10. kylin streaming原理介绍与特点浅析