创建自己的对象
要创建自己的对象实例,必须首先为其定义一个构造函数。构造函数创建一个新对象,赋予对象属性,并在合适的时候赋予方法。例如,下面的示例为 pasta 对象定义了构造函数。注意 this 关键字的使用,它指向当前对象。
// pasta 是有四个参数的构造器。
function pasta(grain, width, shape, hasEgg)
{
// 是用什么粮食做的?
this.grain = grain;
// 多宽?(数值)
this.width = width;
// 横截面形状?(字符串)
this.shape = shape;
// 是否加蛋黄?(boolean)
this.hasEgg = hasEgg;
}
定义了对象构造器后,用 new 运算符创建对象实例。
var spaghetti = new pasta("wheat", 0.2, "circle", true);
var linguine = new pasta("wheat", 0.3, "oval", true);
可以给对象实例添加属性以改变该实例,但是用相同的构造器生成的其他对象定义中并不包括这些属性,而且除非你特意添加这些属性那么在其他实例中并不显示出来。如果要将对象所有实例的附加属性显示出来,必须将它们添加到构造函数或构造器原型对象(原型在高级文档中讨论)中。
// spaghetti 的附加属性。
spaghetti.color = "pale straw";
spaghetti.drycook = 7;
spaghetti.freshcook = 0.5;
var chowFun = new pasta("rice", 3, "flat", false);
// chowFun 对象或其他现有的 pasta 对象
// 都没有添加到 spaghetti 对象
// 的三个新属性。
// 将属性‘foodgroup’加到 pasta 原型对象
// 中,这样 pasta 对象的所有实例都可以有该属性,
// 包括那些已经生成的实例。
pasta.prototype.foodgroup = "carbohydrates"
// 现在 spaghetti.foodgroup、chowFun.foodgroup,等等
// 均包含值“carbohydrates”。
分享到:
相关推荐
在“baidu-api.js”中,我们可以创建地图对象,设置初始位置和层级,添加标记,监听地图事件等。例如: ```javascript var map = new BMap.Map("map"); // 创建Map实例 map.centerAndZoom(new BMap.Point(116.404, ...
《JavaScript忍者的秘密》这篇博文主要探讨了JavaScript编程中的高级技巧和不为人知的细节,旨在帮助开发者提升在JavaScript领域的专业技能。通过学习这些“秘密”,开发者可以更好地理解和利用JavaScript的强大功能...
在光盘中,学习者可以探索类和对象的创建,理解原型继承以及如何使用构造函数和原型链。同时,ES6(ECMAScript 2015)引入了类语法,使得JavaScript的面向对象编程更加直观。 光盘中的英文版后续章节PDF,对于提升...
描述中提到“如果你把这段代码搞明白了,你的js水平也就到家了”,这暗示了这段代码可能涵盖了JavaScript的核心概念,并且是进阶开发者必须掌握的知识。理解和运用这些代码可以反映出一个开发者对JavaScript的深入...
首先,我们要明白JavaScript本身并不直接支持创建Excel文件,但我们可以利用一些库或者技术来模拟这一过程。一个常见的方法是使用HTML5的Blob对象和FileSaver.js库来生成和保存文件。Blob对象可以用来存储二进制大...
在深入之前,首先我们要明白两个重要的知识点:InDesign的对象模型(Object Model)以及JavaScript语言本身。虽然这两者都相对复杂,但是通过克服一些基本的障碍,任何人都可以快速开始编写脚本。在你开始之前,需要...
HTML5的Performance API允许我们获取浏览器的内存使用情况,例如`window.performance.memory`可以返回一个对象,其中包含了JavaScript堆的总大小、已分配但未使用的内存以及使用中的内存等信息。但这并不包括操作...
在JavaScript中,我们首先需要创建一个二维数组来表示游戏板。这个数组的每个元素代表屏幕上的一个格子,可以为空或者被块占据。接下来,我们需要定义各种块的形状,通常由4个单元格组成,这些形状可以通过不同的...
这个 JavaScript 是在网页中运行的,这里建议大家要把 head 和 body 标签都写全,即使它们对你来说看上去没有什么用处,但是在有些浏览器中,如果这些标签没有写全,或者写的不正确,程序就不能正确运行。...
在阅读这本书的过程中,你会深入理解JavaScript的各个方面,包括变量、数据类型、操作符、语句、函数、对象、类、模块、闭包、作用域、原型链、事件处理等核心特性。 在"源码"这个标签下,你可以期待看到书中的一些...
在这个"javascript-projects"中,我们可以预见到一系列用JavaScript编写的实践项目,这将帮助开发者巩固基础,提升技能。 首先,我们要明白HTML(HyperText Markup Language)是网页内容的基础结构,它定义了网页的...
JavaScript是Web开发中不可或缺的一部分,尤其对于初学者来说...在学习过程中,遇到不明白的地方,可以查阅MDN Web文档或其他在线资源,结合实践,理论与实践相结合,将有助于更快地成长为一名熟练的JavaScript开发者。
JavaScript是Web开发中不可或缺的一部分,尤其对于前端交互和动态网页设计起着至关重要的作用。本讲将深入浅出地探讨JavaScript的基础概念,帮助初学者理解并掌握这门强大的脚本语言。 首先,我们要明白JavaScript...
在网页开发中,JavaScript是一种必不可少的脚本语言,它为网页增添了交互性和动态性。本文将深入探讨如何使用JavaScript来创建可变化、可编辑的表格,以实现更丰富的用户界面。 首先,我们要明白HTML表格的基本结构...
首先,我们要明白JavaScript是一种广泛使用的客户端脚本语言,它允许在网页中实现动态交互效果。在这个抽奖程序中,JavaScript被用来控制抽奖过程中的数字滚动和音效播放,从而为参与者带来更丰富的体验。 1. **...
这个 JavaScript 是在网页中运行的,这里建议大家要把 head 和 body 标签都写全,即使它们对你来说看上去没有什么用处,但是在有些浏览器中,如果这些标签没有写全,或者写的不正确,程序就不能正确运行。...
JavaScript,作为全球最受欢迎的编程语言之一,其王者归来的态势在现代Web开发中表现得尤为明显。本讨论将深入解析《JavaScript王者归来》一书中的实例,这些实例旨在帮助开发者全面理解和掌握JavaScript的核心概念...
首先,我们要明白JavaScript在游戏开发中的基础角色。JavaScript提供了事件处理、DOM操作、定时器等功能,这些都是构建交互式游戏的关键。在这款"Simple Tower Block Game"中,JavaScript将用于控制游戏逻辑、用户...
在JavaScript中,我们可以使用`window`对象的`WebView`方法`addJavascriptInterface()`来创建一个JavaScript接口对象,这个对象的实例会被暴露给JavaScript。例如,我们可以在Java中定义一个类`...
4. **初始化地图**:在JavaScript中,使用`BMap`对象来创建地图实例,设置中心点坐标和地图级别。例如: ```javascript var map = new BMap.Map("map"); // 创建Map实例 map.centerAndZoom(new BMap.Point(116....