随笔 - 253,  文章 - 0,  评论 - 8,  阅读 - 24万

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

  1. 以下代码运行的结果是
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。

  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);
posted on   京鸿一瞥  阅读(255)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-03-12 原生js 对dom 的操作
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

展开
点击右上角即可分享
微信分享提示