`
- 浏览:
2105460 次
- 性别:
- 来自:
杭州
-
xml 代码
- 私有属性在构造函数中用var关键字定义,私有属性只能用特权函数公用访问,特权函数是在构造函数中用this关键字定义的函数。私有属性不能使用点记法来访问,只能用公用函数访问。
- 如下是个例子
-
- function Vehicle() {
- var wheelCount = 4;
- var curbWeightInPounds = 4000;
-
- this.getWheelCount = function() {
- return wheelCount;
- }
-
- this.setWheelCount = function(count) {
- wheelCount = count;
- }
-
- this.getCurbWeightInPounds = function() {
- return curbWeightInPounds;
- }
-
- this.setCurbWeightInPounds = function(weight) {
- curbWeightInPounds = weight;
- }
-
- this.refuel = function() {
- return "Refueling Vehicle with regular 87 octane gasoline";
- }
-
- this.mainTasks = function() {
- return "Driving to work, school, and the grocery store";
- }
- }
-
- function SportsCar() {
- this.refuel = function() {
- return "Refueling SportsCar with premium 94 octane gasoline";
- }
-
- this.mainTasks = function() {
- return "Spirited driving, looking good, driving to the beach";
- }
- }
-
- function CementTruck() {
- this.refuel = function() {
- return "Refueling CementTruck with diesel fuel";
- }
-
- this.mainTasks = function() {
- return "Arrive at construction site, extend boom, deliver cement";
- }
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在JavaScript编程中,私有属性和私有函数是实现封装和数据隐藏的关键概念。这些特性使得我们可以更好地控制代码的访问权限,防止外部直接修改或访问内部状态,从而增强程序的安全性和稳定性。在JavaScript中,虽然...
私有属性和私有方法是面向对象编程中实现封装的重要手段,它们帮助开发者隐藏类的内部实现细节,防止外部直接访问和修改类内部的状态。在JavaScript中,私有成员可以通过在属性名或方法名前加上一个“#”符号来定义...
这两种方法都基于JavaScript的函数作用域和闭包特性来实现私有属性的封装和隐藏,使得对象内部状态得到保护,防止外部的直接访问和修改。这种方式在面向对象编程中,是非常重要的一个概念,有助于我们编写更为安全...
JavaScript设计模式中的封装和信息隐藏是面向对象编程中的核心概念,它们旨在保护数据免受不必要的外部访问和修改,从而提高代码的稳定性和可维护性。虽然JavaScript不是一种典型的面向对象语言,但通过一些技巧和...
JavaScript设计模式中的封装和信息隐藏是面向对象编程中至关重要的概念。封装是将对象的内部状态(数据)和行为(方法)结合在一起,对外提供一个有限的接口进行交互,以此来保护内部数据的完整性和安全性。信息隐藏...
JavaScript是世界上最受误解的语言。有人认为它缺少信息隐藏的属性(封装),因为JavaScript对象不能拥有私有变量和函数。但这是误解。JavaScript对象可以有私有成员。下面进行说明。
在JavaScript中,由于其动态类型和全局作用域的特性,实现真正的私有成员并不直接。然而,可以利用闭包这一特性来模拟私有成员。 1. 为何使用私有成员(Private Members) 私有成员的主要目的是限制对对象内部状态...
- **第五章:封装和私有性**:讲解如何在JavaScript中实现封装以及保护私有数据的方法。 - **第六章:多态**:讨论多态性的概念及其在JavaScript中的应用。 - **第七章:混合式编程**:介绍如何结合面向对象编程与...
7. **闭包**:JavaScript的闭包特性是其强大之处,它可以捕获并存储外部作用域的变量,常用于封装变量、实现私有属性和方法,或者在异步操作中保持状态。 8. **原型和继承**:JavaScript采用原型链实现对象继承,一...
JavaScript私有化的概念源于编程语言中对于数据封装的需求,它允许开发者创建不能直接从外部访问的变量和方法,以保护内部状态不被篡改。在JavaScript中,虽然没有内置的私有变量或方法,但可以通过一些技巧来模拟...
虽然JavaScript没有提供严格的封装机制,但我们可以通过设置私有变量和公共方法来实现类似的功能。通常,开发者会使用闭包或者ES6的类来模拟封装。 **示例代码:** ```javascript function Person(name, age) { ...
例如,在JavaScript中,我们经常会利用函数作用域和闭包来模拟私有方法和私有属性,以及使用原型链来模拟类继承。 最后,本书提供了非常实用的参考资料,包括了一些作者认可的技术专家和其推荐的博客和微博,读者...
- **鸭子类型**:JavaScript没有严格的类型检查,如果一个对象看起来像某种类型的对象(即拥有该类型对象应有的属性和方法),那么就可以将其当作该类型的对象使用。 #### 七、总结 《面向对象的JavaScript原则》是...
- **7.2闭包的用途**: 闭包可以用于实现数据隐藏和管理私有状态,还可以用于创建模块化结构。 - **7.3应该注意的问题**: 使用闭包时要注意内存泄漏以及函数上下文的正确引用。 #### 面向对象的JavaScript - **8.1...
使用WeakMap可以创建私有属性,并且这些属性是对外部隐藏的,因为WeakMap结构的键是不公开的。这种方法的优点是私有属性安全不易被外部访问,但缺点同样在于编写方式上比较复杂,且可能影响垃圾回收。 上述实现私有...
7. **闭包**:闭包是JavaScript中的高级特性,它可以捕获其词法作用域内的变量,常用于封装私有变量和方法,或者创建记忆化函数。 8. **事件委托**:为避免为每个元素绑定事件处理器,可以将事件绑定到父元素上,...
在JavaScript中,我们可以通过闭包或者类的私有属性来实现封装: ```javascript class Box { constructor(width, height) { this._width = width; this._height = height; } getArea() { return this._width ...
7. **可见性(私有域和保护域)**:对于类成员的可见性控制,应使用特定的命名约定来区分私有成员和公共成员。 8. **JavaScript类型**:应熟悉JavaScript的类型系统,包括基本类型和对象类型。理解这些类型之间的...