<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>闭包</title>
</head>
<body>
<script>
// JavaScript Document
// var Person=function(name,age){
// this.name=name;
// this.age=age;
// this.say=function(){
// console.info('hello')
// }
// }
// Person.prototype={
// Person:function(){
//
// },
// hello:function(){
// console.info(this.age+' '+this.name)
// }
// }
// var p=new Person();
// p.say();
//
// var p1=new Person('zhangsan',19);
// p1.hello();
var Person=function(){
var id=1;//private
this.name='';//public
//闭包访问私有变量
this.say=function(){
return function(){
return id;
};
}
}
Person.age=19;//静态变量 可以通过类或对象访问
/**
* 通过原型扩展属性和方法
* @type {{}}
*/
Person.prototype={
address:'',
hello:function(){
console.info('hello');
}
}
//实例化对象
var person=new Person();
console.info('类变量:'+Person.age)
console.info('私有变量:'+person.id);//访问不到 underfined
console.info('使用闭包访问 私有变量:'+person.say()())
person.name='张三';
person.address='重庆';
console.info(person)
console.info(new Person().hello())
</script>
</body>
</html>
分享到:
相关推荐
在“JavaScript与OOP讲座”的PPT文件中,可能涵盖了这些概念的详细讲解,包括它们的工作原理、如何使用以及最佳实践。通过学习这个讲座,开发者可以更好地理解如何利用JavaScript的OOP特性来设计和实现复杂的前端...
在JavaScript中,我们可以利用作用域来保护变量,例如使用IIFE(立即执行函数表达式)或闭包来创建私有变量。 多态性允许不同的对象对同一消息作出不同的响应。在JavaScript中,这通常通过重写或覆盖原型链上的方法...
与C++、Java等语言相比,JavaScript独特的OOP编程规则使用步骤较为繁琐、不容易掌握,这不但影响JavaScript开发的效率,也增加了开发的难度。 为了解决JavaScript OOP编程规则的复杂性,本文对JavaScript OOP编程...
### OOP与JavaScript详解 #### 一、面向对象编程(OOP)基础概念 面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它通过“对象”这一概念来组织程序结构,使得程序更加模块化、易于理解和维护。...
3. **闭包与模块模式**:通过闭包,可以在函数内部创建私有变量和方法,从而实现封装。模块模式利用这一点创建独立的命名空间,防止全局变量污染。 4. **ES6的类语法**:虽然JavaScript在ES6中引入了更接近传统OOP...
**封装**是OOP的基本原则,JavaScript通过函数和闭包实现封装,限制对数据和方法的访问。私有属性和方法只能在函数内部访问,而实例属性和方法可以通过`this`关键字定义,可以在对象实例化后使用。 **继承**在...
在JavaScript中,我们可以通过闭包或者`private`、`public`模拟实现封装: ```javascript function Car(make, model) { var _make = make; // private variable this.model = model; // public property this....
HTML标签与JavaScript OOP看似无关,但在实际Web开发中,JavaScript常用于操作DOM元素,这涉及到HTML和JavaScript的交互。通过`document.getElementById`、`document.querySelector`等方法,可以获取HTML元素,然后...
6. **封装**:封装是面向对象的重要特性,JavaScript通过函数和闭包来实现封装,隐藏对象的内部实现细节,只暴露必要的接口。 7. **多态**:多态允许不同的对象对同一消息做出不同的响应。在JavaScript中,可以通过...
JavaScript面向对象编程(Object-Oriented Programming,简称OOP)是JavaScript编程中极其重要的...在SoftUni---JavaScriptOOP-master这个压缩包中,可能包含了这些知识点的练习和示例代码,供学生实践和巩固所学知识。
在JavaScript中,OOP主要通过构造函数、原型链和闭包来实现。本篇文章将深入探讨JavaScript的OOP思想,并通过实际代码示例介绍单例模式、工厂模式和观察者模式。 首先,面向对象编程的核心概念是类和对象。在...
JavaScriptOOP-Homeworks 是一个关于JavaScript面向对象编程(Object-Oriented Programming,简称OOP)的学习资源,可能是某个在线课程或教程的作业集合。这个压缩包可能包含了一系列的练习、项目或代码示例,旨在...
在JavaScript中,由于语言特性,OOP实现与传统面向对象语言略有不同。 1. **封装**:面向对象的核心之一就是封装,即将数据和操作数据的方法绑定在一起,形成一个独立的实体——对象。在JavaScript中,我们可以通过...
在 "js-oop.rar_control" 中,我们可以推测这是一个与 JavaScript OOP 相关的压缩包,可能包含了一些示例代码或工具,用于帮助开发者更好地理解和应用 OOP 技术。 在 Fireball.CodeEditor 控件中,我们看到了一个源...
包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined、对象、数组、符号)、操作符(算术、比较、逻辑、赋值等)、流程控制(条件语句、循环语句)、函数定义与调用、作用域和闭包...
### JavaScript OOP面向对象介绍 #### 一、面向对象编程(OOP)概念 面向对象编程(Object-Oriented Programming,简称OOP)是一种程序设计思想。它将计算机程序视为一组对象的集合,而每个对象都可以接收其他对象...
5. **闭包与模块化** 在JavaScript中,闭包可以用来创建私有变量和方法,实现模块化。这对于避免全局污染和提升代码封装性非常有用,这对于jQuery插件开发尤为重要。 6. **jQuery中的面向对象实践** 虽然jQuery...
JavaScript是Web开发中不可或缺的一部分,尤其在面向对象编程(OOP)方面,它提供了一种强大的方式来组织和管理代码。这个"JavaScript-OOP-Homeworks"项目显然是一个学习和实践JavaScript OOP概念的资源集合。让我们...
JavaScriptOOP,即JavaScript面向对象编程,是JavaScript语言中一种重要的编程范式,它使得代码更加模块化、可重用且易于维护。在JavaScript中,面向对象编程主要依赖于对象、类、继承、封装和多态等核心概念。 1. ...
3. **闭包和模块化**:在JavaScript中,可以利用闭包实现私有变量和方法,以及实现类似于类的封装。另外,CommonJS和ES6的模块系统(如`require`和`import/export`)提供了更好的代码组织和复用机制。 4. **类...