`

Javascript对象封装的三种简单写法

阅读更多

 

  这里的内容没有太多深入的东西,更深的理解请看秘 密花园与 在javascript中创建对象的各种模式

 

  Javascript在HTML中变得越来越强大,富客户端,HTML5中的WebGL等。但是我们书写Javascript的时候往往很随意,使用对象的封装是极好的。这里介绍Javascipt三种创建对象的方法。

  使用关键字new创建对象

 

 
function Person(name, age) { 
  this.name = name;
  this.age = age;
}
var p = new Person();   // 也可填充初始化属性,如new Person("lingceng", 22) 

 

 使用Object直接创建对象

 可以看出,这种方法扩展很方便。

 

 
var obj = new Object(); // 这里也可写成 var = {};
obj.name = "lingceng";
obj.age = 22;

 

 使用JSON创建(对象字面量的说法更准确,但JSON更好理解)

 从Javascript1.2开始,创建对象有了更快捷的方式。

 

var p = {
  name: "lingceng",  // "name":"lingceng这样加引号解析方式相同
  gender: "male"
};

 

实践方式

    结合构造函数和原型模式创建对象的方式很适合实践。

 

 

function Person(name,age)
{
	// 实例属性
	// 实例时多份拷贝
	this.name=name;
	this.age=age;
}
        
Person.prototype={
	// 因为原型被替换,所以需要恢复construtor的默认指向
	constructor: Person,
	showName:function(){
		alert("ShowName in prototype:"+this.name);
	},
	showAge:function(){
		alert(this.age);
	}
}

var p =  new Person("lingceng", 22);
p.showAge(); // 22
分享到:
评论

相关推荐

    Javascript面向对象编程.

    在JavaScript中,面向对象主要通过以下三种方式实现: 1. **构造函数(Constructor)**:构造函数是一种特殊的函数,用于创建和初始化对象。我们可以通过`new`关键字来调用构造函数,创建一个新的对象实例。例如: ...

    javaScript封装的各种写法

    接下来,我们将详细探讨JavaScript封装的几种常见写法,并分析它们的优缺点及其适用场景。 首先,最基础的封装方法是使用函数。通过函数,我们可以将变量和逻辑封装起来,避免全局变量污染。这种方式在需要进行简单...

    javascript对象参考手册

    JavaScript对象参考手册是一份详尽的资源,涵盖了JavaScript编程中的核心概念,特别是关于对象的使用。这份手册旨在帮助开发者深入理解JavaScript对象的本质,提高他们在实际项目中的应用能力。通过链接到的博主...

    JavaScript面向对象编程指南(第2版).rar

    JavaScript的面向对象主要基于三个核心概念:封装、继承和多态。封装是将数据和操作这些数据的方法结合在一起,形成一个独立的单元,即对象。在JavaScript中,对象是键值对的集合,可以使用对象字面量或构造函数创建...

    基于百度地图JavaScript API封装的React组件库

    所以这里面地图相关的dom并不是react渲染的,真正创建地图之类的还是使用百度地图JavaScript Api,React-BMap只是利用了React组件的写法来封装百度地图JavaScript Api,使我们在使用React的时候能更方便的使用百度...

    javascript如何创建对象

    字面量创建是直接使用对象字面量语法创建对象,是一种简单直接的方法。例如: ```javascript var person1 = { name: "Ailer", age: 12, gender: "female" }; ``` 字面量创建的优点是简洁明了,但缺点是如果需要...

    javaScript中封装的各种写法示例(推荐)

    以上是较常见的封装写法之一。此外,还可以利用原型(prototype)来实现封装,尤其是在创建自定义对象时: ```javascript var myOpinion = myOpinion || {}; myOpinion.prototype = { init: function(obj, i) { ...

    JavaScript模拟实现封装的三种方式及写法区别

    JavaScript是一种基于原型的面向对象编程语言,它通过对象的prototype属性来实现对象间的继承和封装。本文将详细介绍JavaScript模拟实现封装的三种主要方法:扩展方法、原型继承以及call()、apply()和bind()的使用。...

    javascript创建命名空间的5种写法_.docx

    ### JavaScript 创建命名空间的五种方法 #### 一、通过函数创建命名空间 在JavaScript中,使用函数创建命名空间是一种常见的做法。这种方法主要是利用函数来封装命名空间内的成员,包括属性和方法。这种方式的优点...

    MooCSS模块化面向对象的css写法

    《MooCSS:模块化面向对象的CSS写法详解》 在现代Web开发中,CSS已经从简单的样式语言发展为复杂、高效的样式管理系统。MooCSS(Module-Oriented Object CSS)是一种基于模块化和面向对象思想的CSS编写方式,旨在...

    Javascript中的对象.pdf

    JavaScript是一种高级的、解释执行的编程语言,其内置了面向对象的特性,使得开发者可以利用对象、继承等概念进行编程。在JavaScript中,对象可以看作是属性的无序集合,属性可以是基本值、对象或者函数。每个属性或...

    javascript 面向对象程序设计博客文章

    尽管JavaScript的原始OOP机制基于原型,但ES6引入了类语法,它提供了一种更接近传统面向对象语言的写法,但底层仍然基于原型。类的实例化、继承、静态方法等都可以通过类语法实现。 9. **模块系统** JavaScript有...

    Java Script 经典封装

    在JavaScript中,构造函数是一种特殊类型的函数,用于初始化新创建的对象。使用new关键字调用构造函数,会创建一个新的对象实例,并将该对象的[[Prototype]]链接到构造函数的prototype属性。 2. prototype与__...

    JavaScript立即执行函数的三种不同写法

    在JavaScript中,有一种特殊的技术被称为“立即执行函数表达式”(Immediately Invoked Function Expression,简称IIFE),它允许我们在代码中定义一个函数并立即调用它,避免了变量污染全局作用域,提高了代码的...

    使用XMLHTTPRequest实现自定义ajax。javascript闭包模式写法。值的学习

    在JavaScript的世界里,Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容。XMLHTTPRequest对象是实现Ajax的核心,它是...

    107个常用Javascript语句参数写法

    JavaScript支持六种基本数据类型:`String`、`Number`、`Boolean`、`Null`、`Undefined`和`Symbol`,以及复合数据类型`Object`,包括数组和函数。 ### 8. 字符串到数字的转换 `parseInt()`和`parseFloat()`函数...

    JavaScript面向对象程序程序设计PPT与代码

    ES6引入了类的概念,虽然JavaScript的类本质上仍然是函数,但它提供了一种更符合传统面向对象语法的写法。例如: ```javascript class Person { constructor(name) { this.name = name; } sayName() { ...

    javascript的几种写法总结

    本文将总结几种常见的JavaScript写法,帮助读者更好地理解这门语言的多样性和表达能力。 首先,我们来探讨JavaScript变量的定义和使用。在JavaScript中,变量定义通常采用关键字var来声明。例如: ```javascript ...

Global site tag (gtag.js) - Google Analytics