<!DOCTYPE html>
<html lang="zh"> <head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>JavaScript变量提升 面试题</title>
</head> <body>
<script type="text/javascript">
//函数提示优于变量
console.log(a);//function a(){}
console.log(b);//undefined
var a = 1;
function a(){}
var b= function(){};
console.log(a)//1
</script>
</body> </html>

面试题2:

var a = 10;
(function () {
console.log(a)
a = 5
console.log(window.a)
var a = 20;
console.log(a)
})()

解释:

执行解析步骤:
var a = undefined;
a = 10;
(function () {
// 变量提升(预解析)
var a = undefined;
console.log(a); // 输出undefined
a = 5;
console.log(window.a); // 找window(全局)对象的a, 输出10
a = 20;
console.log(a); // 输出20
})()

最新文章

  1. C++-Qt【5】-QT的QString,char*,QByteArray转化以及中文乱码的问题
  2. 2015安徽省赛 I.梯田
  3. android-sdks/build-tools/17.0.0/aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
  4. 笔者的编辑语法:MarkDown
  5. [转载] 高效 MacBook 工作环境配置
  6. ToolStripStatusLabel设置时间自动更新
  7. CF 19D Points 【线段树+平衡树】
  8. XML格式导出Excel
  9. Python Learing(二):Basic Image Processing 1
  10. ICommand.CanExecuteChanged事件订阅对象的变化
  11. SpringCloud 学习网址记录
  12. MariaDB导入XXX.sql文件
  13. 【简书】在阿里云自带的CentOS + LAMP环境下部署一个Laravel项目
  14. java知识点1
  15. k8s集群之上游dns--dnsmasq,统一管理kubernetes的dns解析
  16. WebSocket 处理事件
  17. Dynamics 365Online 使用adal.js注册和配置SimpleSPA应用程序
  18. jQuery.fly插件实现添加购物车抛物线效果
  19. 十二、dbms_logmnr(分析重做日志和归档日志)
  20. APP和小程序哪个更合适企业

热门文章

  1. Windows注册与删除mysql服务
  2. 内核request_mem_region 和 ioremap的理解【转】
  3. APscheduler总结
  4. react className的2种变量写法
  5. (32)C#文件读写
  6. (16)C#继承
  7. Educational Codeforces Round 33 (Rated for Div. 2) B. Beautiful Divisors【进制思维/打表】
  8. ELK之收集日志到mysql数据库
  9. luogu P1577 切绳子
  10. ARC 098 D - Xor Sum 2