ali面试题

2020-04-01  本文已影响0人  大福爸爸_

阿里面试题

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();
getName();
Foo().getName();
getName();
new Foo.getName();
new Foo().getName();
new new Foo().getName();

版本2

 function Foo() {
        this.getName = function () {
            console.log(3);
            return {
                getName: getName //这个就是第六问中涉及的构造函数的返回值问题
            }
        }; //这个就是第六问中涉及到的,JS构造函数公有方法和原型链方法的优先级
        getName = function () {
            console.log(1);
        };
        return this
    }
    Foo.getName = function () {
        console.log(2);
    };
    Foo.prototype.getName = function () {
        console.log(6);
    };
    var getName = function () {
        console.log(4);
    };

     function getName() {
         console.log(5);
     }
     //答案:
    Foo.getName(); 
    getName();// 4
    console.log(Foo())  
    Foo().getName();
    getName();
    new Foo.getName(); 
    new Foo().getName();
    console.log((new Foo()).getName) 
    //多了一问
    new Foo().getName().getName(); 
    new new Foo().getName();
  1. .的优先级是18,new Foo优先级是17,new Foo()优先级也是18,函数调用是17
上一篇 下一篇

猜你喜欢

热点阅读