0
点赞
收藏
分享

微信扫一扫

JavaScript预解析练习题

追风骚年 2022-01-05 阅读 50

1.第一题

来自雪狐老师的习题,我是搬运,老师别打我鸭

变量提升---当网页一打开,浏览器会先读一遍代码,浏览器会把带var和带function提前声明

            1.如果是带var 浏览器会提前声明  var age 只声明 不赋值  默认的结果是undefined

            2.变量提升 ,只提升等号左面的,不会提升等号右面的

            3.如果是function 会声明+ 定义 会把整个function函数提升到代码前面

 <script>  
f();//3

function f() {
console.log("1");
}
f();//3

function f() {
console.log("2");
}
f();//3

function f() {
console.log("3");
}
</script>

2.第二题

    <script>
console.log(a); // undefined
var a = 123;
console.log(a); // 123
function f1() {
console.log(a); // undefined
var a = 456;
console.log(a); //456
}
f1();
console.log(a); //123
</script>

3.第三题

    <script>
console.log(a); // undefined
var a = 123;
console.log(a); // 123
var a = 456;
console.log(a); // 456
</script>

4.第四题

    <script>
console.log(a); // 函数体
var a = 123;
console.log(a); // 123

function a() {}
console.log(a); // 123

function a() {}
console.log(a); // 123
</script>

5.第五题

    <script>
console.log(a); //undefined
var a = 12;

function fn() {
console.log(a); // undefined
var a = 13;
}
fn();
console.log(a); // 12 找我们全局的
</script>

6.第六题

    <script>
console.log(a); // undefined
var a = 12;

function fn() {
console.log(a); // 12
a = 13;//
}
fn();
console.log(a) //13
</script>

7.第七题

    <script>
var foo = 1;

function bar() {
// 不管条件成立还是不成立都要进行变量提升
if (!foo) {
var foo = 10;
}
console.log(foo);
}
bar(); //10
</script>

8.第八题

    <script>
var n = 13;

function fn(n) {//n 是形参
alert(n); // 13
var n = 14;
alert(n); //14
}
fn(n);//n是实参
console.log(n); // 13
</script>

9.第九题

    <script>
console.log(a, b, c); // undefined undefined undefined
var a = 10,b = 20,c = 30;
function f(a) {//小心啊,仔细看,用到我们前面学习的内容
console.log(a, b, c); //10 undefined 30
var b = a = c = 100;
console.log(a, b, c); //100 100 100
}
f(10, 20);
console.log(a, b, c); // 10 20 100
</script>

10.第十题

    <script>
console.log(num, str); // undefind undefind
var num = 18;
var str = "lily";

function fn2() {
console.log(str, num); //lily undefind
num = 19;
str = "candy";
var num = 14;
console.log(str, num); // candy 14
}
fn2();
console.log(str, num); // candy 18

</script>

 

举报

相关推荐

0 条评论