`
liaokang.java
  • 浏览: 155162 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

js对象的创建

    博客分类:
  • js
阅读更多
1.工厂创建js对象如下
		function createObject(){
			var object = new Object();
			object.name = "lisi";
			object.password = "123456";
			object.get = function(){
				alert(this.name + ", " + this.password);
			};
			return object;
		}
		
		var object1 = createObject();
		object1.get();
		var object2 = createObject();
		object2.get();

当把get方法定义在外时,那get函数对象为所有对象共享
		function createObject(){
			var object = new Object();
			object.name = "lisi";
			object.password = "123456";
			object.get = get;
			return object;
		}
		function get(){
			alert(this.name + ", " + this.password);
		}		

		var object1 = createObject();
		object1.get();
		var object2 = createObject();
		object2.get();

2.构造函数方式
		function Person(username,password){
			this.username = username;
			this.password = password;
			this.get = function(){
				alert(this.username + ", " + this.password);
			}
		}
		
		var person = new Person("lisi","123456");
		person.get();

3.使用原型方式定义对象,那么生成的所有对象会共享原型中的属性,当一个引用改变了其中的属性也会反应到其他对象中去,但是不能在构造方法中为属性赋初值,如
		function Person(){}
		Person.prototype.username = new Array();
		Person.prototype.password = "123";
		Person.prototype.getInfo = function(){
			alert(this.username + ", " + this.password);
		}
		var person1 = new Person();
		person1.username.push("zhansan");
		person1.username.push("lisi");
		person1.password = "456";
		person1.getInfo();
		
		var person2 = new Person();
		person2.getInfo();

Person对象中的属性username为一个数组,当引用person1改变其值时,引用person2所指的属性username也会发生变化,因为属性username数组是共享的

4.使用原型+构造方法来定义对象,对象之间属性互不干扰,方法共享,如
		function Person(){
			this.username = new Array();
			this.password = "123456";
		}
		Person.prototype.get = function(){
			alert(this.username + ", " + this.password);
		}
		
		var p1 = new Person();
		p1.username.push("zhansan");
		p1.get();
		var p2 = new Person();
		p2.username.push("lisi");
		p2.get();

5.动态原型,在构造函数中通过标志量让所有对象共享一个方法,而每个对象拥有自己的属性,如
		function Person(){
			this.username = "zhansan";
			this.password = "123456";
			if(typeof Person.flag == "undefined"){
				Person.prototype.getInfo = function(){
					alert(this.username + ", " + this.password);
				};
				Person.flag = true;
			}
		}
		var p1 = new Person();
		p1.getInfo();
		var p2 = new Person();
		p2.getInfo();
分享到:
评论

相关推荐

    javascript对象创建

    这个文件可能包含了一些示例代码,用于演示上述的JavaScript对象创建、类定义和继承的实践。通过查看和运行这些代码,你可以更好地理解这些概念并应用到实际项目中。 总结来说,JavaScript对象创建涉及字面量、构造...

    js对象创建,事件委托测试

    js对象创建,事件委托测试,this apply call

    JavaScript对象创建总结

    javascript对象创建方法总结,通过这些方法的总结,可以对对象有了更深一步的了解,也加深了对对象的巩固认识。

    JavaScript对象创建的九种方式

    JavaScript是Web开发中的核心语言,其对象创建是编程过程中不可或缺的一部分。本文将详细介绍JavaScript中九种常见的对象创建方式,帮助开发者更好地理解和应用这些技术。 1. **标准创建对象模式**: 这是最基础的...

    popup_element.js:小js对象创建模式弹出窗口

    在JavaScript编程中,"popup_element.js:小js对象创建模式弹出窗口" 主要涉及到的是使用JavaScript对象创建模式来设计和实现一个弹出窗口的功能。这个弹出窗口可能用于显示通知、用户交互或者提供额外的信息。...

    Javascript创建自定义对象 创建Object实例添加属性和方法

    如下所示: 代码如下: var person...上面的例子创建了一个名为person的对象,并为它添加了三个属性(name、age和job)和一个方法(sayName())。其中,sayName()方法用于显示this.name()的值。早期的JavaScript开发人员

    在js中创建类和对象

    在JavaScript中,创建类和对象是面向对象编程的基础。本文将详细介绍几种常见的创建对象的方法,包括它们的特点和优缺点。 5.1 工厂方法 工厂方法是一种创建对象的模式,通过一个函数来创建具有特定属性和行为的...

    javascript创建对象的方式(二)

    在JavaScript中,创建对象是编程的基本操作之一,它支持多种方式来实现这一目的。这篇博客“javascript创建对象的方式(二)”可能详细介绍了在JavaScript中除了最基础的字面量语法之外的其他创建对象的方法。这里...

    JS对象创建的几种方式整理

    最近一直在看JS高级程序设计这本书,有空来梳理一下几种创建对象的方式。话不多说,直接步入正题。 第一种:Object构造函数创建 var Person = new Object(); Person.name = 'Nike'; Person.age = 29; 这行代码创建...

    javascript创建对象的方式(一)

    这是最简单直观的对象创建方式,通过大括号{}定义一个对象,并在其内部用逗号分隔属性和方法。 ```javascript var person = { name: "John", age: 30, sayHello: function() { console.log("Hello, my name ...

    deePool高效的JavaScript对象池

    1. **对象创建与回收**:DeePool提供API用于创建特定类型的对象池,并负责对象的创建、分配和回收。 2. **自动扩展**:当对象池中的对象被耗尽时,DeePool能自动扩展池的大小,避免因对象不足而影响程序运行。 3. **...

    javascript如何创建对象

    在JavaScript中,对象可以分为系统对象和自定义对象,系统对象可以通过系统构造函数创建,如Array、Date等,而自定义对象则需要自行创建。 JavaScript创建对象的方法主要有以下几种: 一、直接创建 直接创建是通过...

    js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式).docx

    本文将详细介绍三种常见的对象创建方法:工厂模式、构造函数模式以及原型模式,并探讨它们各自的优缺点。 #### 工厂模式 工厂模式是一种常见的设计模式,用于抽象出创建对象的具体过程。在 JavaScript 中,可以...

    js 面向对象实例

    每个JavaScript对象都有一个`__proto__`属性,指向创建该对象的构造函数的原型。原型对象也是一个对象,可以通过`prototype`属性来访问。我们可以在原型上定义方法,这样所有实例都可以访问这些方法: ```...

    JavaScript对象创建模式实例汇总

    主要介绍了JavaScript对象创建模式,结合实例形式总结分析了JavaScript常见的对象创建模式,包括工厂模式、构造函数模式、原型模式、动态原型模式、寄生构造函数模式、稳妥构造函数模式等,需要的朋友可以参考下

    基于JS对象创建常用方式及原理分析

    除了上述提到的几种模式,JavaScript对象创建还有其他方式,如组合使用构造函数模式和原型模式、动态原型模式以及ES6中引入的class类语法等。这些方式和模式相互补充,为我们提供了灵活多样的对象创建方法,以便在...

    一种新的javascript对象创建方式Object.create()

    在JavaScript编程中,创建对象是一个基础而核心的...`Object.create()`方法的推出,使得JavaScript对象创建和继承机制更加完善和强大,同时也为开发者提供了更高级的抽象手段,帮助编写出更加模块化和可维护的代码。

    在javascript中创建对象的各种模式解析

    综上所述,JavaScript提供了多种对象创建模式,每种模式都有其特定的应用场景和优缺点。开发者可以根据具体需求和上下文环境,选择最合适的对象创建模式。在实际开发中,通常推荐使用构造函数和原型模式的结合方式,...

    用js创建XMLHttpRequest对象池

    总的来说,了解如何创建和管理XMLHttpRequest对象池是优化JavaScript应用性能的重要技能,尤其是在处理大量网络请求时。而随着技术的发展,开发者也需要关注新的API和最佳实践,以适应不断变化的Web环境。

    insert-sql-generator:从 javascript 对象创建通用 sql 插入查询

    从 javascript 对象创建通用的 sql 插入查询 安装 npm install insert-sql-generator 例子 简单案例 var insertQuery = require('insert-sql-generator') var object = { a: 1, b: 'foo', c: true } var ...

Global site tag (gtag.js) - Google Analytics