今日事,今日毕,勿将今事待明日|

零哭谷

园龄:6年粉丝:7关注:4

构造函数

 工厂方法创建一个DOG的函数示例

复制代码
        function dog(name,age){
                 var obj = {
                    name:name,
                     age:age,
                     saysth:function() {
                         alert(this.name + "喊汪汪")
                     }
                 }
                 return obj
             }
             var obj1 = dog("虚线",333)
             console.log(obj1)
             obj1.saysth()
复制代码

 

上述的工厂方法创建的对象使用的构造函数都是Object

缺点就是导致无法区分多种类型的对象,所以需要用到构造函数

复制代码
            function person(){
                this.name = "孙悟空"//2.将新建的对象设置为函数中的this
                this.age = 18
                this.sayname = function(){
                    alert(this.name)//逐行执行函数代码
                }
            }
            var per = new person()    ;
            /*
             1.var per = person()是调用函数,而加个NEW则是创建对象
             */
            per.sayname() //4.将新建函数作为返回值返回
复制代码

加入形参后

复制代码
            function person(name,age){
                this.name = name//2.将新建的对象设置为函数中的this
                this.age = age
                this.sayname = function(){
                    alert(this.name)//逐行执行函数代码
                }
            }
            var per = new person("孙悟空",18)    ;
            var per1 = new person("猪八戒",22)
            /*
             1.var per = person()是调用函数,而加个NEW则是创建对象
             */
            per.sayname() //4.将新建函数作为返回值返回
            console.log(per1)
复制代码

使用同一个构造函数创建的对象为同类对象,同理也可以创建一个var dog = new dog()

 使用instanceof可以检查一个对象是否是一个类的实例,类就是构造函数,

语法: 对象 instanceof 构造函数,如果是则为True,否为false

console.log(per instanceof person)

本文作者:死了也要PY

本文链接:https://www.cnblogs.com/Young-shi/p/10440894.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   零哭谷  阅读(225)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起