这里的内容没有太多深入的东西,更深的理解请看秘 密花园与 在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中,面向对象主要通过以下三种方式实现: 1. **构造函数(Constructor)**:构造函数是一种特殊的函数,用于创建和初始化对象。我们可以通过`new`关键字来调用构造函数,创建一个新的对象实例。例如: ...
接下来,我们将详细探讨JavaScript封装的几种常见写法,并分析它们的优缺点及其适用场景。 首先,最基础的封装方法是使用函数。通过函数,我们可以将变量和逻辑封装起来,避免全局变量污染。这种方式在需要进行简单...
JavaScript对象参考手册是一份详尽的资源,涵盖了JavaScript编程中的核心概念,特别是关于对象的使用。这份手册旨在帮助开发者深入理解JavaScript对象的本质,提高他们在实际项目中的应用能力。通过链接到的博主...
JavaScript的面向对象主要基于三个核心概念:封装、继承和多态。封装是将数据和操作这些数据的方法结合在一起,形成一个独立的单元,即对象。在JavaScript中,对象是键值对的集合,可以使用对象字面量或构造函数创建...
所以这里面地图相关的dom并不是react渲染的,真正创建地图之类的还是使用百度地图JavaScript Api,React-BMap只是利用了React组件的写法来封装百度地图JavaScript Api,使我们在使用React的时候能更方便的使用百度...
字面量创建是直接使用对象字面量语法创建对象,是一种简单直接的方法。例如: ```javascript var person1 = { name: "Ailer", age: 12, gender: "female" }; ``` 字面量创建的优点是简洁明了,但缺点是如果需要...
以上是较常见的封装写法之一。此外,还可以利用原型(prototype)来实现封装,尤其是在创建自定义对象时: ```javascript var myOpinion = myOpinion || {}; myOpinion.prototype = { init: function(obj, i) { ...
JavaScript是一种基于原型的面向对象编程语言,它通过对象的prototype属性来实现对象间的继承和封装。本文将详细介绍JavaScript模拟实现封装的三种主要方法:扩展方法、原型继承以及call()、apply()和bind()的使用。...
### JavaScript 创建命名空间的五种方法 #### 一、通过函数创建命名空间 在JavaScript中,使用函数创建命名空间是一种常见的做法。这种方法主要是利用函数来封装命名空间内的成员,包括属性和方法。这种方式的优点...
《MooCSS:模块化面向对象的CSS写法详解》 在现代Web开发中,CSS已经从简单的样式语言发展为复杂、高效的样式管理系统。MooCSS(Module-Oriented Object CSS)是一种基于模块化和面向对象思想的CSS编写方式,旨在...
JavaScript是一种高级的、解释执行的编程语言,其内置了面向对象的特性,使得开发者可以利用对象、继承等概念进行编程。在JavaScript中,对象可以看作是属性的无序集合,属性可以是基本值、对象或者函数。每个属性或...
尽管JavaScript的原始OOP机制基于原型,但ES6引入了类语法,它提供了一种更接近传统面向对象语言的写法,但底层仍然基于原型。类的实例化、继承、静态方法等都可以通过类语法实现。 9. **模块系统** JavaScript有...
在JavaScript中,构造函数是一种特殊类型的函数,用于初始化新创建的对象。使用new关键字调用构造函数,会创建一个新的对象实例,并将该对象的[[Prototype]]链接到构造函数的prototype属性。 2. prototype与__...
在JavaScript中,有一种特殊的技术被称为“立即执行函数表达式”(Immediately Invoked Function Expression,简称IIFE),它允许我们在代码中定义一个函数并立即调用它,避免了变量污染全局作用域,提高了代码的...
在JavaScript的世界里,Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容。XMLHTTPRequest对象是实现Ajax的核心,它是...
JavaScript支持六种基本数据类型:`String`、`Number`、`Boolean`、`Null`、`Undefined`和`Symbol`,以及复合数据类型`Object`,包括数组和函数。 ### 8. 字符串到数字的转换 `parseInt()`和`parseFloat()`函数...
ES6引入了类的概念,虽然JavaScript的类本质上仍然是函数,但它提供了一种更符合传统面向对象语法的写法。例如: ```javascript class Person { constructor(name) { this.name = name; } sayName() { ...
本文将总结几种常见的JavaScript写法,帮助读者更好地理解这门语言的多样性和表达能力。 首先,我们来探讨JavaScript变量的定义和使用。在JavaScript中,变量定义通常采用关键字var来声明。例如: ```javascript ...