利用原型扩展实现的方法中,无法调用私有成员和变量。
例子如下所示(把其中注释掉的两行恢复就可以看到区别):
function T(name) {
this.Name = name;
var x = 5;
function privateFunc() {
alert('in private method: do sometheing');
}
this.PublicFunc = function() {
// 可以调用私有方法,访问私有成员变量。
privateFunc();
alert('x = ' + x);
alert('in public method: do something else.');
}
}
//var t = new T('t1');
//t.PublicFunc();
T.prototype.PublicFunc2 = function() {
alert('in public method 2.');
// 下面两行都会出错。在利用 prototype 扩展的方法里无法调用对象的私有方法,也访问不到通过 var 定义的私有成员。
// alert(x);
// privateFunc();
}
var t2 = new T('t2');
t2.PublicFunc();
t2.PublicFunc2();
this.Name = name;
var x = 5;
function privateFunc() {
alert('in private method: do sometheing');
}
this.PublicFunc = function() {
// 可以调用私有方法,访问私有成员变量。
privateFunc();
alert('x = ' + x);
alert('in public method: do something else.');
}
}
//var t = new T('t1');
//t.PublicFunc();
T.prototype.PublicFunc2 = function() {
alert('in public method 2.');
// 下面两行都会出错。在利用 prototype 扩展的方法里无法调用对象的私有方法,也访问不到通过 var 定义的私有成员。
// alert(x);
// privateFunc();
}
var t2 = new T('t2');
t2.PublicFunc();
t2.PublicFunc2();
相关推荐
### JS:prototype用法详解 #### 一、概念解析与基本使用 `prototype`是JavaScript中一个非常重要的概念,尤其自IE4及其后续版本引入以来,成为开发人员扩展内置对象功能的强大工具。`prototype`主要服务于面向...
JavaScript中的`prototype`是语言核心概念之一,它在对象创建、继承和方法共享中起着关键作用。在JavaScript中,每个对象都有一个`prototype`属性,这个属性引用了一个对象,通常用于实现对象间的继承。理解`...
JavaScript中的`prototype`是一个核心概念,它涉及到对象继承和函数原型。在JavaScript中,每创建一个函数,该函数就会自动获得一个名为`prototype`的属性,这个属性是一个对象,用于实现对象间的继承。同时,每个...
在JavaScript中,遍历属性、理解`prototype`和掌握继承机制是编程中不可或缺的基本技能。本文将深入探讨这些概念,并通过实例来加深理解。 首先,让我们来看如何遍历JavaScript对象的属性。JavaScript提供了多种...
本文将深入探讨JavaScript中的类和继承,并结合`prototype.js`文件中的示例进行解析。 ### 类的概念与模拟 在JavaScript中,我们通常使用函数来模拟类的行为。一个函数可以看作是一个类的定义,通过`new`关键字来...
Prototype.js 是一个开源JavaScript库,由Sam Stephenson于2005年创建,主要用于简化DOM(文档对象模型)操作,增强JavaScript的面向对象编程能力,以及提供实用的函数扩展。它在Web开发中扮演着重要的角色,尤其在...
### 开源JS包Prototype使用指南 #### 1.1 Prototype是什么? Prototype是一个由Sam Stephenson编写的JavaScript库,它提供了一套简洁、高效且易于使用的API来简化Web应用开发过程中的许多常见任务。该库专注于简化...
总结,Prototype.js是JavaScript开发中的一个重要工具,它通过一系列强大的API和设计模式,使得JavaScript的开发更加高效、优雅。通过学习和掌握Prototype,开发者可以更好地驾驭JavaScript,创造出更具交互性的Web...
在JavaScript中,`prototype`是一个非常重要的概念,它涉及到对象的继承和方法共享。每个函数(在JavaScript中,函数也是一种对象)都有一个`prototype`属性,这个属性指向一个对象,这个对象的用途是为通过该函数...
Prototype 是一个广泛使用的JavaScript库,设计目的是为了简化JavaScript的开发,尤其是处理DOM操作、AJAX交互以及事件处理等方面的工作。它通过提供一系列实用的工具函数和面向对象的特性,极大地提高了JavaScript...
2. **Function.prototype.bind**:让函数拥有指定的上下文(this值),解决了JavaScript中this动态绑定的问题。 3. **Element**和**$$**:提供了一套强大的DOM操作接口,Element对象可以对HTML元素进行各种操作,$$...
在JavaScript中,`prototype`是实现面向对象编程的关键特性,它允许我们为类(或称为构造函数)添加方法。在本文中,我们将深入探讨如何利用`prototype`为类添加方法,以及这种方法背后的原理。 首先,我们需要理解...
JavaScript中的`prototype`属性是实现面向对象编程的关键概念之一,尤其在JavaScript中,它用于实现对象的继承。本文将深入探讨`prototype`的含义、作用以及如何使用。 1. **什么是prototype** 在JavaScript中,每...
Prototype 提供了诸如`String.prototype.parseColor`、`Function.prototype.bind`等工具,前者用于解析颜色字符串,后者实现函数绑定,确保函数的`this`值始终指向预期的对象。 通过分析Prototype 1.4.0的源码,...
在JavaScript中,每个函数都有一个`prototype`属性,这个属性是一个对象,它的作用是当试图访问一个对象的属性时,如果该对象自身没有这个属性,就会去查找它的原型对象,以此类推,直到找到属性或者到达原型链的...
《prototype.js开发者手册》是针对JavaScript库Prototype的一份详尽指南,旨在帮助开发者深入理解和有效利用这个强大的工具。Prototype.js是开源的JavaScript框架,它扩展了JavaScript的基本对象,提供了类和面向...
Prototype 是一个轻量级的 JavaScript 库,它简化了 DOM 操作,并提供了一系列便捷的方法来处理对象、数组等基本类型。版本 1.3 相对于之前的 1.2 版本有了不少改进与增强,包括但不限于: - 注释的完善。 - 对象...
JavaScript中的`prototype`是理解面向对象编程的关键概念之一。它是一种机制,允许对象共享属性和方法,从而实现代码复用。在JavaScript中,每个函数(包括构造函数)都有一个内置的`prototype`属性,这个属性指向一...
Prototype.js 是一个著名的JavaScript库,由Sam Stephenson编写,它极大地扩展了JavaScript的功能,并且对Ajax提供了良好的支持。这个库在Web开发领域具有很高的实用性和学习价值,特别适合B/S架构的开发人员和...
### JavaScript中的Prototype用法详解 #### 一、引言 在JavaScript中,`prototype`是一个非常重要的概念,尤其是在面向对象编程(OOP)方面。通过理解并掌握`prototype`的使用,开发者可以更加灵活地扩展对象的功能,...