zoukankan      html  css  js  c++  java
  • 构造函数

     工厂方法创建一个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)

  • 相关阅读:
    js手写弹框和按钮显示
    Java类加载机制、双亲委派、Java类加载过程
    Java集合:HashMap必知必会
    查看oracle是否锁表
    消息队列Rabbit MQ 学习第一篇
    数据库blob图片文件,多图片打包下载
    HttpDebug下载
    将博客搬至CSDN
    android事件拦截处理机制详解
    回调函数
  • 原文地址:https://www.cnblogs.com/Young-shi/p/10440894.html
Copyright © 2011-2022 走看看