js创建对象的几种方式

Posted alan-1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js创建对象的几种方式相关的知识,希望对你有一定的参考价值。

一.使用构造函数创建对象

  1.使用系统构造函数创建对象

    举例:     

1 var obj = new Object();
2 obj.name = "小明";
3 obj.age = 28;
4 obj.eat = function(){
5 console.log("小明喜欢吃西瓜");
6 };
7 console.log(obj.name);
8 console.log(obj.age);
9 obj.eat();

技术图片 

 2.使用自定义构造函数创建对象

    a.使用不带参数的自定义构造函数创建对象

      举例:    

 1 function Person(){
 2     this.name = "小红";
 3     this.age = 28;
 4     this.eat = function(){
 5     console.log("小红喜欢吃西瓜");
 6 }
 7 var obj = new Person();
 8 console.log(obj.name);
 9 console.log(obj.age);
10 obj.eat();

  技术图片

   b.使用带参数的自定义构造函数创建对象

      举例:

      

function Person(name,age){
    this.name = name;
    his.age = age;
    this.eat = function(){
            console.log(this.name + "今年" + this.age + "岁了,喜欢吃西瓜");
        };
}
var obj = new Person("小光",18);
var obj2 = new Person("小青",22);
console.log(obj.name);
console.log(obj.age);
obj.eat();
console.log(obj2.name);
console.log(obj2.age);
bj2.eat();

技术图片

    c.定义构造函数时应遵循的命名规范

      定义构造函数时函数名的首字母要大写

    d.使用instanceof关键字来查看对象的类型

      举例:    

function Person(name,age){
    this.name = name;
    this.age = age;
    this.eat = function(){
            console.log(this.name + "今年" + this.age + "岁了,喜欢吃西瓜");
        };
}
function Dog(){
    this.eat = function(){
            onsole.log("狗喜欢吃骨头");
    };
}
var obj = new Person("小光",18);
var obj3 = new Dog();
console.log(obj instanceof Person);
console.log(obj instanceof Dog);
console.log(obj3 instanceof Dog);

技术图片

 

二.工厂模式创建对象

  举例: 

        <script>
            //使用工厂模式创建对象
            function createObj(name,age,sex){
                var obj = new Object();
                obj.name = name;
                obj.age = age;
                obj.sex = sex;
                obj.say = function(){
                    console.log("我是" + "this.sex" + "的");
                };
                return obj;
            }
            var obj = createObj("小黄",56,"男");
            var obj = createObj("小紫",52,"男");
            
        </script>

  说明:使用工厂模式创建对象其实就是讲创建对象的过程用函数封装起来,用于方便快捷的创建多个类似的对象,同时也存在问题,使用工厂模式创建的对象,无法判断哪个实例属于哪个对象,即使用instanceof关键字无意义

以上是关于js创建对象的几种方式的主要内容,如果未能解决你的问题,请参考以下文章

JS创建对象的几种方式

javascript(js)创建对象的模式与继承的几种方式

JS创建对象的几种方式

js-JavaScript常见的创建对象的几种方式

js-JavaScript常见的创建对象的几种方式

js创建对象的几种方式