跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 卖家故事 > JavaScript 中创建对象的方式( 9种 )

JavaScript 中创建对象的方式( 9种 )

时间:2024-04-10 07:55:39 来源:网络cs 作者:晨起 栏目:卖家故事 阅读:

标签: 方式  对象  创建 
阅读本书更多章节>>>>

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。

在这里插入图片描述

No.内容链接
1Openlayers 【入门教程】 - 【源代码+示例300+】
2Leaflet 【入门教程】 - 【源代码+图文示例 150+】
3Cesium 【入门教程】 - 【源代码+图文示例200+】
4MapboxGL【入门教程】 - 【源代码+图文示例150+】
5前端就业宝典 【面试题+详细答案 1000+】

在这里插入图片描述

文章目录


JavaScript 中创建对象的方式多种多样,以下是几种常见的创建对象的方法:

工厂模式

function createPerson(name, age) {  var obj = {};  obj.name = name;  obj.age = age;  obj.sayHello = function() {    console.log("Hello, I'm " + this.name);  };  return obj;}var person = createPerson("John", 30);

构造函数模式

function Person(name, age) {  this.name = name;  this.age = age;  this.sayHello = function() {    console.log("Hello, I'm " + this.name);  };}var person = new Person("John", 30);

对象字面量(或称“对象直接量”):

var person = {  name: "John",  age: 30,  sayHello: function() {    console.log("Hello, I'm " + this.name);  }};

原型模式

function Person() {}Person.prototype.name = "John";Person.prototype.age = 30;Person.prototype.sayHello = function() {  console.log("Hello, I'm " + this.name);};var person = new Person();

混合构造函数和原型模式(组合构造函数模式和原型模式的优点):

function Person(name, age) {  this.name = name;  this.age = age;}Person.prototype.sayHello = function() {  console.log("Hello, I'm " + this.name);};var person = new Person("John", 30);

动态原型模式

function Person(name, age) {  this.name = name;  this.age = age;    if (typeof this.sayHello !== 'function') { // 只有当sayHello未定义时才添加    Person.prototype.sayHello = function() {      console.log("Hello, I'm " + this.name);    };  }}var person = new Person("John", 30);

寄生构造函数模式

function createPerson(name, age) {  var obj = new Object();  obj.name = name;  obj.age = age;  obj.sayHello = function() {    console.log("Hello, I'm " + this.name);  };  return obj;}var person = createPerson("John", 30);

稳妥构造函数模式(主要用于特殊情况,对象没有公共属性,只提供方法):

function Person(name, age) {  var that = new Object();  var privateName = name;  var privateAge = age;  that.getDetails = function() {    return privateName + ", " + privateAge;  };  return that;}var person = Person("John", 30);

使用类来创建对象
随着ES6引入类(Class)语法,还可以使用类来创建对象,虽然在底层仍然是基于原型机制工作的:

class Person {  constructor(name, age) {    this.name = name;    this.age = age;  }  sayHello() {    console.log("Hello, I'm " + this.name);  }}var person = new Person("John", 30);
阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/gushi/2024-04-10/156343.html,文章来源:网络cs,作者:晨起,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论