美文网首页
javascript基础题目

javascript基础题目

作者: 小麻烦爱学习 | 来源:发表于2020-06-30 20:32 被阅读0次

    题目一

    var x = 1;
        function func(x, y = () => {
            // 5,闭包:函数的执行依赖变量作用域,这个作用域是在函数定义时决定的.
            //调用func时才定义这个方法,此时x=5
            console.log(x); 
            x=2
        }){
            var x = 3;
            y();
            console.log(x); // 当前块级作用域x=3
        }
        func(5);
        console.log(x); // 全局作用域x=1
    

    题目二

    function Foo() { getName = function () { console.log(1); }; return this; }
    Foo.getName = function () { console.log(2); };
    Foo.prototype.getName = function () { console.log(3); };
    var getName = function () { console.log(4); };
    function getName() { console.log(5); }
    
    Foo.getName();//2
    getName();//4
    Foo().getName();//1
    getName();//1
    
    new Foo.getName(); // 2;等价于 new Foo.getName,使用new调用构造函数,圆括号不是必须的
    new Foo().getName(); //3; 等价于(new Foo()).getName(),为什么不是new (Foo().getName())
    new new Foo().getName(); // 3; 等价于 => new (new Foo().getName)()
    // new () . 三者运算符的优先级是什么样的?结合规律是什么?
    
    var a = [0];
    if ([0]) {
      console.log(a == true); // 竟然是false
    } else {
      console.log("wut");
    }
    

    相关文章

      网友评论

          本文标题:javascript基础题目

          本文链接:https://www.haomeiwen.com/subject/afbtqktx.html