`

javascropt oop与闭包

阅读更多
<!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讲座

    在“JavaScript与OOP讲座”的PPT文件中,可能涵盖了这些概念的详细讲解,包括它们的工作原理、如何使用以及最佳实践。通过学习这个讲座,开发者可以更好地理解如何利用JavaScript的OOP特性来设计和实现复杂的前端...

    Javascript(OOP).rar_javascript_javascript O_oop javascript

    在JavaScript中,我们可以利用作用域来保护变量,例如使用IIFE(立即执行函数表达式)或闭包来创建私有变量。 多态性允许不同的对象对同一消息作出不同的响应。在JavaScript中,这通常通过重写或覆盖原型链上的方法...

    AOP基本功能在JavaScript中的研究和实现.pdf

    与C++、Java等语言相比,JavaScript独特的OOP编程规则使用步骤较为繁琐、不容易掌握,这不但影响JavaScript开发的效率,也增加了开发的难度。 为了解决JavaScript OOP编程规则的复杂性,本文对JavaScript OOP编程...

    oop与javascript

    ### OOP与JavaScript详解 #### 一、面向对象编程(OOP)基础概念 面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它通过“对象”这一概念来组织程序结构,使得程序更加模块化、易于理解和维护。...

    JavaScript与OOP

    3. **闭包与模块模式**:通过闭包,可以在函数内部创建私有变量和方法,从而实现封装。模块模式利用这一点创建独立的命名空间,防止全局变量污染。 4. **ES6的类语法**:虽然JavaScript在ES6中引入了更接近传统OOP...

    javascript与OOP__PPT

    **封装**是OOP的基本原则,JavaScript通过函数和闭包实现封装,限制对数据和方法的访问。私有属性和方法只能在函数内部访问,而实例属性和方法可以通过`this`关键字定义,可以在对象实例化后使用。 **继承**在...

    Javascript的OOP编程

    在JavaScript中,我们可以通过闭包或者`private`、`public`模拟实现封装: ```javascript function Car(make, model) { var _make = make; // private variable this.model = model; // public property this....

    javascript-OOP:JavaScript OOP

    HTML标签与JavaScript OOP看似无关,但在实际Web开发中,JavaScript常用于操作DOM元素,这涉及到HTML和JavaScript的交互。通过`document.getElementById`、`document.querySelector`等方法,可以获取HTML元素,然后...

    javascript的oop

    6. **封装**:封装是面向对象的重要特性,JavaScript通过函数和闭包来实现封装,隐藏对象的内部实现细节,只暴露必要的接口。 7. **多态**:多态允许不同的对象对同一消息做出不同的响应。在JavaScript中,可以通过...

    SoftUni---JavaScriptOOP:为 SoftUni 的 JavaScript OOP 课程提供作业解决方案

    JavaScript面向对象编程(Object-Oriented Programming,简称OOP)是JavaScript编程中极其重要的...在SoftUni---JavaScriptOOP-master这个压缩包中,可能包含了这些知识点的练习和示例代码,供学生实践和巩固所学知识。

    javascript的oop思想以及单例,工厂,观察者模式简例

    在JavaScript中,OOP主要通过构造函数、原型链和闭包来实现。本篇文章将深入探讨JavaScript的OOP思想,并通过实际代码示例介绍单例模式、工厂模式和观察者模式。 首先,面向对象编程的核心概念是类和对象。在...

    JavaScriptOOP-Homeworks

    JavaScriptOOP-Homeworks 是一个关于JavaScript面向对象编程(Object-Oriented Programming,简称OOP)的学习资源,可能是某个在线课程或教程的作业集合。这个压缩包可能包含了一系列的练习、项目或代码示例,旨在...

    Javascript oop设计模式 面向对象编程简单实例介绍

    在JavaScript中,由于语言特性,OOP实现与传统面向对象语言略有不同。 1. **封装**:面向对象的核心之一就是封装,即将数据和操作数据的方法绑定在一起,形成一个独立的实体——对象。在JavaScript中,我们可以通过...

    js-oop.rar_control

    在 "js-oop.rar_control" 中,我们可以推测这是一个与 JavaScript OOP 相关的压缩包,可能包含了一些示例代码或工具,用于帮助开发者更好地理解和应用 OOP 技术。 在 Fireball.CodeEditor 控件中,我们看到了一个源...

    韩顺平javascript笔记(最全整理 dom编程 oop 基础语法)

    包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined、对象、数组、符号)、操作符(算术、比较、逻辑、赋值等)、流程控制(条件语句、循环语句)、函数定义与调用、作用域和闭包...

    JavaScript OOP面向对象介绍

    ### JavaScript OOP面向对象介绍 #### 一、面向对象编程(OOP)概念 面向对象编程(Object-Oriented Programming,简称OOP)是一种程序设计思想。它将计算机程序视为一组对象的集合,而每个对象都可以接收其他对象...

    jquery_js_oop

    5. **闭包与模块化** 在JavaScript中,闭包可以用来创建私有变量和方法,实现模块化。这对于避免全局污染和提升代码封装性非常有用,这对于jQuery插件开发尤为重要。 6. **jQuery中的面向对象实践** 虽然jQuery...

    JavaScript-OOP-Homeworks:回购我在 JS OOP 上的作业练习

    JavaScript是Web开发中不可或缺的一部分,尤其在面向对象编程(OOP)方面,它提供了一种强大的方式来组织和管理代码。这个"JavaScript-OOP-Homeworks"项目显然是一个学习和实践JavaScript OOP概念的资源集合。让我们...

    JavaScriptOOP

    JavaScriptOOP,即JavaScript面向对象编程,是JavaScript语言中一种重要的编程范式,它使得代码更加模块化、可重用且易于维护。在JavaScript中,面向对象编程主要依赖于对象、类、继承、封装和多态等核心概念。 1. ...

    Javascript面向对象编程.

    3. **闭包和模块化**:在JavaScript中,可以利用闭包实现私有变量和方法,以及实现类似于类的封装。另外,CommonJS和ES6的模块系统(如`require`和`import/export`)提供了更好的代码组织和复用机制。 4. **类...

Global site tag (gtag.js) - Google Analytics