Javascript静态成员与实例成员

静态成员

静态成员由构造方法提供,一般用在工具函数的包装中。

            function Person(){
            }
            Person.a = function(){
                console.log("a");
            }

以上的这种写法会被添加到Construct中,在var p = new Person(),p中不存在该方法。
注意与以下写法的区别

            function Person(){
                this.a=function(){
                    console.log("a");
                }
            }   

该写法会把a function添加到由Person构造函数创建的对象中。也就是说,我们如果写一个var p = new Person(),p中存在a方法。

实例成员

与对象有关的成员,也就是说,我们需要把方法添加到对象中。
这种写法会将a function被初始化到所有由Person构造函数创建的实例对象中。这种写法不推荐使用,我们一般会将其写入到Person.prototype属性中。

            function Person(){
                this.a=function(){
                    console.log("a");
                }
            }

另一种写法,添加到特定对象中,其他由Person构造函数创建的对象中不包含该方法。

            function Person(){

            }

            var p = new Person();
            p.a = function(){
                console.log("a");
            }

猜你喜欢

转载自blog.csdn.net/qq_25956141/article/details/81867094
今日推荐