关于JavaScript构造函数,如今出现了很多JavaScript的框架,例如jQuery、Ext等等这些,这些将JavaScript作为一种面向对象的语言进行编程,那么JavaScript到底是怎么样实现面向对象的一些特征的呢,首先,我们来看看JavaScript怎么样来定义一个构造函数。
function A(x)
{
this.x = x;
}
var obj = new A(5);
alert(obj.x);
这段代码十分简单,但是我们重要的是看到了一个十分惊讶的结果,obj被我们赋予了一个属性x,就如同我们在C#中使用某个类的实例的时候一样。那么这个属性是怎么样产生的呢?
关键语句:this.x=x。这句话就是进行一个属性的申明与赋值,这里,我们肯定会问到,this是什么?为什么可以使用this.x来进行申明与赋值属性呢?
其实this代表的就是我们刚刚实例化出来的obj,就相当于我们使用obj去调用了构造函数A里面的属性、方法等等。
那么,我们怎么样去在构造函数中定义一个方法呢?
function A(x,y)
{
this.x = x;
this.y = y;
A.prototype.FunX = function(){alert(x)};
A.prototype.FunY = function(){alert(y)};
}
var obj = new A(5,10);
alert(obj.x);
alert(obj.y);
obj.FunX();
obj.FunY();
执行的结果十分简单,弹出5、10、5、10的结果,可以看到
A.prototype.FunX = function(){alert(x)};
A.prototype.FunY = function(){alert(y)};
这两句代码定义了两个方法,分别是FunX和FunY。那么,如果现在出现了一种情况,如果我们需要临时的给A函数添加方法怎么办呢?
function A(x,y)
{
this.x = x;
this.y = y;
}
A.prototype.FunX = function(){alert("5")};
var obj = new A(5,10);
alert(obj.x);
alert(obj.y);
obj.FunX();
A.prototype.FunY = function(){alert("10")};
obj.FunY();
运行这段代码,我们可以看到,弹出的结果还是和以前的结果一样,但是我们将两个方法都定义在了外边,而且方法FunY是定义在实例化之后的,那么这里大家看出来了什么没?很显然,在我们使用obj.FunY()语句时候,代码会重新的去构造一下obj,然后再来执行此方法,那么如果代码改成这样?
obj.FunY();
A.prototype.FunY = function(){alert("10")};
很显然,FunY()就不会去执行方法了。
转载:http://www.cnblogs.com/iceknp/archive/2010/06/08/1753729.html
分享到:
相关推荐
JavaScript构造函数和原型对象介绍,对于构造函数的创建以及一些简单地介绍,还有就是原型对象对于构造函数的一些补充。
总结起来,JavaScript构造函数允许我们定义对象的结构并初始化对象的状态。构造函数中的公有方法可以通过原型或实例本身来定义。私有特权成员允许我们在构造函数内部创建可控制访问的私有属性和方法。静态成员则是与...
JavaScript中的构造函数是实现面向对象编程的关键组成部分,它在创建对象时起着核心作用。本文将深入探讨构造函数的概念、用途以及使用时应注意的事项。 一、什么是构造函数 构造函数在JavaScript中是一个特殊的...
总结来说,JavaScript构造函数是用于初始化对象的一种特殊函数。理解构造函数、原型链以及this关键字在构造函数中的行为对于掌握JavaScript编程至关重要。通过构造函数与原型对象之间的相互作用,开发者能够创建复杂...
在JavaScript编程中,构造函数是一种特殊的函数,用于创建和初始化对象。构造函数通常使用new操作符来调用,...同时,理解JavaScript的执行上下文、作用域链以及this的指向也是深入掌握JavaScript构造函数所必需的。
JavaScript 构造函数是语言中的一个重要概念,它们用于创建对象并初始化其属性和方法。在JavaScript中,每个函数都可以作为构造函数使用,通过在函数名前加上`new`关键字来调用,这样就会创建一个新的对象实例。让...
以下是一个构造函数的例子 如果是实例方法,不同的实例化,它们引用的地址是不一样的,是唯一的。 //定义一个构造函数 function People(name,age){ this.name=name; this.age=age; this.dothings=function(){ ...
下面将详细介绍JavaScript构造函数以及如何使用它们来定义对象。 ### 1. 构造函数的定义与使用 构造函数通常以大写字母开头,这在JavaScript中是一个约定,但并非强制规则。构造函数的作用是在创建新对象时被调用...
在深入理解JavaScript的过程中,构造函数和原型对象是两个核心概念。JavaScript是一种基于对象(Object-based)和原型(Prototype-based)的语言,其对象模型与传统的基于类(Class-based)语言有所不同。理解构造...
JavaScript 构造函数是编程语言中的一个重要概念,它在创建对象和实现面向对象编程时起着核心作用。本文将深入探讨 JavaScript 构造函数的工作原理、用途以及如何使用它们。 一、JavaScript 构造函数的基本概念 在 ...
JavaScript 构造函数、原型对象和实例之间的关系详解 在 JavaScript 中,构造函数、原型对象和实例之间存在着紧密的关系,这三个概念息息相关。下面我们将详细解释它们之间的关系。 构造函数 在 JavaScript 中,...
### JavaScript构造函数、实例、原型对象以及原型链详解 #### 1. 概述 JavaScript是一种面向对象的语言,但在ES6之前,并不支持基于类的面向对象编程模式。相反,它采用了一种独特的机制——构造函数、原型和原型...
构造函数模式是JavaScript中的一种重要设计模式,用于创建对象。本文将深入探讨构造函数模式及其应用。 构造函数模式的核心在于使用函数来创建具有相似属性和方法的对象。在JavaScript中,函数可以作为构造函数来...
关于JavaScript构造函数,如今出现了很多JavaScript的框架,例如jQuery、Ext等等这些,这些将JavaScript作为一种面向对象的语言进行编程,那么JavaScript到底是怎么样实现面向对象的一些特征的呢,首先,我们来看看...
在这个JavaScript构造函数中,图像滑块可能包含了以下核心组件和功能: 1. **初始化**:构造函数会被调用,用于初始化滑块,包括设置初始值、范围、步长等参数。 2. **DOM操作**:D3.js会用来创建、选择或修改HTML...
JavaScript 中的构造函数和其它语言中的构造函数是不同的。通过 new 关键字方式调用的函数都被认为是构造函数。任何JavaScript 函数都可以用做构造函数,构造函数必须使用new 运算符作为前缀来创建新的实例。