美文网首页
JavaScript创建对象的方式

JavaScript创建对象的方式

作者: tutututudou | 来源:发表于2022-02-19 19:10 被阅读0次

1.字面量创建方式

优点:语句少
缺点:会有重复方法和属性

let obj = {name: "Tom", age: 2, sad: true, addr: null}
console.log(obj)
//{name: 'Tom', age: 2, sad: true, addr: null}

2.new创建方式

内置对象Object创建

优点:适合不确定对象属性方法的场景
缺点:语句太多

let obj1 = new Object()
//undefined
obj1
//{}[[Prototype]]: Object
obj1.name = "Tom"
//'Tom'
obj1.age = 2
//2
obj1.sad = true
//true
obj1.addr = null
//null
obj1.say = function () {console.log("good!!")}
//ƒ () {console.log("good!!")}
obj1
//{name: 'Tom', age: 2, sad: true, addr: null, say: ƒ}
obj1.say()
//good!!

工厂模式构造函数创建

优点:可以创建多个对象
缺点:没有具体类型,都是object对象

function Person(){
    this.name = "Tom";
    this.age = 2;
    this.sad = true;
    this.addr = null;
    this.say = function () {
        console.log("good!!!?");
    }
}
//undefined
let obj2 = new Person()
//undefined
obj2
//Person {name: 'Tom', age: 2, sad: true, addr: null, say: ƒ}
obj2.say
//ƒ () {
 //       console.log("good!!!?");
  //  }
obj2.say()
// good!!!?
//undefined

构造函数执行步骤

  • new运算符在内存中创建一个新的空对象
  • this指向空对象(new一个对象,赋值给一值,这个值是这个对象的一个例子(实例))
  • 执行构造函数里面的内容
  • 使用new会自动返回这个新对象(不使用return,自动返回一个对象,以键值对的结果给对象)

相关文章

网友评论

      本文标题:JavaScript创建对象的方式

      本文链接:https://www.haomeiwen.com/subject/vufmlrtx.html