var a,b=10 的经典问题 -- (变量作用域)
var a 有 var 会使得变量提升, 如果 b 没有声明 变量b 则为全部变量,不会提升
1.问题1
var a = b = 10; (function(){ var a = b = 20 })(); console.log(b);
A.10 B.20 C.报错 D. Undefined
var a = b = 10; b没有声明,默认为全局变量,匿名函数立即执行,var a=b=20相当于var a=20;b=20;所以作为全局变量的b变成了20,a没变。b是隐形变量。
2. 以下代码的运行结果是 alert(a); a = 10; alert(a) A.undefined 10 B.报错 10 C.报错 打印不出来 D.0 undefined
运行到报错语句后,后面的都不执行了,所以选C
- 以下代码运行的结果是
var num = 5; function fn(){ num = 1; } fn(); alert( num );
A.1 B.undefined C.报错 D.5
执行fn()时,num未声明,向父级找,得到num=5,然后赋值num=1,因为改变的是函数外的值,所以num发生改变最后是1。
- 代码的输出结果是
var a = 3; function fn(){ var b = 4; alert(a); // 3 alert(b); //4 function me(){ alert(b); //4 } me(); } fn(); alert(a);//3
5、分析下段代码输出结果是
var t = 10; function test(test){ t = t + test; //t=10+10 console.log(t); //20 } test(t);
人生很漫长,或许我只是你人生中微不足道的一小段,只是你人生中的惊鸿一瞥。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-03-12 原生js 对dom 的操作