JavaScript 题 库 (二)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/gklcsdn/article/details/102670454

JavaScript题库

JS执行顺序
1. 语法分析 
2. 预编译
	生成AO对象(函数调用时)
    形参和变量作为AO对象的属性名, 值是undefined
	实参赋值给形参
    函数名作为AO对象的属性名, 把函数体作为属性值
3. 执行JS代码
1.
function outer() {
    function inner() {
        var a = 4;
        c = 5;
        console.log(a); //4
        console.log(b); //3
        console.log(c); //5
    }
    var b = 3;
    inner(); //AO{a:4, c:5}
}
var a = 2;
outer(); //AO{b:3}
//GO{a:2}
2.
function test() {
    var n = 5;

    function add() {
        n++;
        console.log(n); //6 7
    }
    return add;
}
var result = test();
result(); //AO{n:6}
result();
3.
function demo() {
    var arr = [];
    for (var i = 0; i < 10; i++) {
        arr[i] = function() {
            console.log(i);
        }
    } // 循环结束之后才会调用
    return arr;
}
var result = demo();
for (var j = 0; j < 10; j++) {
    result[j](); //AO{arr:[fn, fn, fn, fn, fn, fn, fn, fn, fn, fn], i:10}
}
4.
var a = 2;

function auto(a) {
    if (typeof a) {
        console.log('python')

    } else {
        console.log('java')
    }
    var a;
}
auto(); //AO{a:undefined}  //python
//GO{a:2}
5.
function auto(a) {
    console.log(a); // fn

    function a() {}
    var a = 2;
    console.log(a); //2

}
auto('undefined'); //AO{a:fn}
6.
function foo() {
    console.log('python')
}

function bar() {
    console.log('python')
}

function host() {
    console.log(typeof foo); //'fn'
    console.log(typeof bar); //'undefined'
    foo(); //'java'
    bar(); //报错

    function foo() {
        console.log('java')

    }
    var bar = function() {
        console.log('java')

    }
    }
host(); //AO{bar:undefined; foo:fn}
//GO{foo:fn; bar:fn; host:fn}
7.
var scareMe = function() {
    console.log('boo'); //boo
    scareMe = function() {
        console.log('double boo')

    }

}
scareMe(); //AO{scareMe:fn}
scareMe(); //double boo
8.
// typeof aaaaaaaaa == 'undefined'
var x = 1;
if (function fn() {}) {
    x += typeof fn;
    console.log(x); //'1undefined'
}

猜你喜欢

转载自blog.csdn.net/gklcsdn/article/details/102670454