美文网首页
面向对象

面向对象

作者: my木子 | 来源:发表于2021-05-31 19:24 被阅读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);
        };
    
        /**
        1. 变量提升
         function Foo() {
            getName = function () {
                console.log(1);
            };
            return this;
        }
    
        var getName;
    
        function getName() {
            console.log(5);
        };
         * 
        */
    
        Foo.getName(); // 2
        getName(); // 4   变量提升,方法覆盖
        Foo().getName(); // 1
        getName(); // 1   执行上一行代码的时候,将方法覆盖
        new Foo.getName(); // 2
        new Foo().getName(); // 3   先执行 new Foo() 实例,再执行原型上的 getName 方法
        new new Foo().getName(); // 3   运算符优先级问题

    相关文章

      网友评论

          本文标题:面向对象

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