博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
再谈js的作用域
阅读量:4982 次
发布时间:2019-06-12

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

 

面试中遇到的一个题目:

1 var word = "hello world"; 2 (function(){ 3      alert(word); 4      var word = "hello test"; 5 })(); 6 ********************************** 7 var word ="hello world"; 8 (function(){ 9     alert(world);10     function world(){11          console.log("hello test");    12     }     13 })()

 

这两段代码会发生什么?console一下,你就知道。

  1. 局部变量的优先级大于全局变量。
  2. js编译机制

js分为编译期和运行期,编译的过程中为var声明的变量和*function*分配内存,运行期顺序执行。

  • var 声明的变量,只有变量声明提前。变量的初始化还在原来的位置。
  • 使用函数声明语句的话,函数名称和函数体均提前。(函数声明语句中,函数名是一个变量名,指向函数体)

转载于:https://www.cnblogs.com/a2762/p/4127085.html

你可能感兴趣的文章
抽象类和接口有什么区别
查看>>
wc2018
查看>>
[转载] 杜拉拉升职记——01 忠诚源于满足
查看>>
那些mv*框架如何选择
查看>>
git工作流程
查看>>
Excel坐标自动在AutoCad绘图_3
查看>>
hacknet
查看>>
HTML语义化初探
查看>>
Peaceful Commission 2-sat
查看>>
bzoj3810: [Coci2015]Stanovi(记忆化搜索)
查看>>
azkaban调度
查看>>
11、增强型for循环对二维数组的输出(test8.java)
查看>>
模拟百度搜索“2012世界末日”网页地震撕裂效果
查看>>
数据库锁表的分析与解决
查看>>
.NET跨平台之旅:在Linux上将ASP.NET 5运行日志写入文件
查看>>
[故障公告]14:39-15:39博客站点部分负载均衡遭遇3次20G以上的流量攻击
查看>>
面向中文的自然语言编程
查看>>
Flutter工程目录
查看>>
hive 函数 current_date()
查看>>
使用python+selenium对12306车票数据读取
查看>>