JS创建对象的三种方法

JS创建对象的三种方法

工厂模式:

function person(name,age,job){
	var obj = new Object();
	obj.name = name;
	obj.age = age;
	obj.sayName = function(){
		alert(this.name);
		}
return obj;
}

var person = person("five",17,"web");
person.sayName()

//工厂模式定义好形参之后,new一个对象,然后return回去
//即可在外部调用函数,然后传入实参。即可使用函数内部的方法

构造函数模式

function Person(name,age,job){ //所有的构造函数的对象都是Object;
	this.name = name;
	this.age = age;
	this.job = job
	this.sayName = function(){
		alert(this.name)
	}
}
//在外部实例化构造函数 new 构造函数
var person1 = new Person("five",17,"web");
 

//构造函数没有return自动返回,没有new obj的过程,但是后台自己定义了。
//构造上述首字母必须大写,在调用的时候必须new。

传统模式

//传统模式就定义好固定参数即可
var person  = new Object();
person.name = "five";
person.age = "17";


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JavaScript中,有多种方法可以创建对象。其中包括使用Object构造函数、工厂模式和使用对象字面量。 第一种方法是使用Object构造函数。通过将Object作为构造函数,可以先创建一个空的Object对象,然后动态地添加属性或方法。例如: ``` var p = new Object(); p.name = 'Tom'; p.age = 18; p.setName = function(name){ this.name = name; }; ``` 这种方法可以根据需要动态地添加属性和方法,但当需要创建多个对象时,会产生大量重复代码。 为了解决这个问题,可以使用工厂模式创建对象。这种方法创建对象的代码封装在一个函数中,并返回一个新的对象。例如: ``` function createPerson(name, age, gender) { var person = new Object(); person.name = name; person.age = age; person.gender = gender; person.sayName = function() { console.log(this.name); } return person; } var person1 = createPerson("zhangsan", 18, 'male'); var person2 = createPerson("lisi", 20, 'female'); ``` 通过调用工厂函数createPerson,可以创建多个具有相同属性和方法的对象。 另一种创建对象方法是使用对象字面量。对象字面量是使用{}来创建对象,并同时指定属性和方法。例如: ``` var p = { name: 'Tom', age: 18, setName: function(name) { this.name = name; } }; ``` 使用对象字面量可以直接指定对象的属性和方法,更加简洁和方便。 以上是JavaScript中创建对象的几种常用方法。根据具体的需求,可以选择合适的方法创建对象。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [js创建对象的5种方法](https://blog.csdn.net/jiangjunyuan168/article/details/126911892)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [JavaScript创建对象的几种方式](https://blog.csdn.net/qq_51781439/article/details/120147756)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值