JavaScript调用原型方法

定义在prototype的公有属性和方法,需要new一个实例之后才能使用。如:

        function Foo() {
            getName = function() {
                alert(1);
            }
        }
        Foo.prototype.getName = function(){
            alert(2)
        }
        Foo.getName = function(){
            alert(3)
        }

此时如果直接运行Foo.getName();方法的话,输出3的。而如果new一个Foo的实例,再执行getName()方法的话,就会输出2。而Foo上的getName实际上是一个未经过声明的全局变量,在全局范围内直接执行getName()就可以输出1。

        var a = new Foo;
        a.getName();    // 2

        Foo.getName();  // 3

        getName();      // 1

猜你喜欢

转载自blog.csdn.net/joyvonlee/article/details/89413697