`
447214075
  • 浏览: 79685 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js中闭包,原型,构造函数解析。

    博客分类:
  • js
 
阅读更多
测试代码
var person = (function(){
function person(name){
this.name = name;
this.sayHello = function(){
_sayHello.call(this);
}
};
person.prototype ={

sayHello2:function(){
alert(this.name+"\tsayHello2");
}

}

person.sayHello3 = function (){
alert(3);
}
function _sayHello(){
alert(this.name+"\t privat");
};
return person;
}());


var person = (function(){}());
1.person等于一个自运行函数,而自运行函数返回一个对象,该自运行函数是一个闭包,外部声明该对象后只能使用该对象中声明的属性和方法(例如:name属性,sayHello方法;声明的时候必须带上this,否则外部不能使用,相当于私有变量),(构造函数方式)
2._sayHello在闭包内是可用的,外部声明的person对象不可使用,实现了类似于java中的私有方法。
3.sayHello2是对person对象添加的方法,相当于java中的public方法。(原型方式)
4.原型方式和构造函数方式都得通过类的对象进行方法。(var p = new person();通过p访问)
5.sayHello3是类方法,需要用类访问。相当于java中的静态方法。只能通过类名访问
分享到:
评论

相关推荐

    深入解析Javascript闭包的功能及实现方法

    JavaScript中的闭包是一种强大的特性,它允许函数访问和操作其外部作用域的变量,即使在其外部函数已经执行完毕后。闭包的实现基于JavaScript的作用域链和垃圾回收机制。 1. **闭包的概念** 闭包是一个拥有自身...

    原型、作用域、闭包的完整解释(一)

    每个JavaScript对象都有一个内部属性`__proto__`,它指向创建该对象的构造函数的原型。当我们尝试访问对象的一个属性时,如果该对象本身没有这个属性,JavaScript会查找`__proto__`链,直到找到该属性或者到达链的...

    我所理解的this,闭包,原型链,继承及面向对象.zip

    在JavaScript编程语言中,"this"、闭包(Closure)、原型链(Prototype Chain)和继承是四个核心概念,它们构成了JavaScript面向对象编程的基础。这里,我将深入解析这些概念,并结合实际例子来帮助理解。 首先,让...

    闭包的理解

    当我们创建一个`$.problemWo`的实例`obj`时,它拥有一个指向构造函数原型的内部指针。当`obj.myclick()`被调用时,它能够访问到实例`obj`中的`a`属性,这正是闭包的一个典型应用。这里的关键在于`myclick`方法保留了...

    javascript闭包概念简单解析(推荐)

    闭包是JavaScript编程中一个非常重要的概念,...由于JavaScript是一种基于原型的语言,并不支持传统的面向对象编程特性,如类和继承,闭包在JavaScript中扮演了更加重要的角色,成为了构造对象和模块化编程的一种手段。

    js构造函数、索引数组和属性的实现方式和使用

    在JavaScript中,构造函数是用于创建和初始化新对象的函数,关联数组是一种以键值对形式存储数据的数据结构,属性则是对象的特征。在编程中,它们的实现方式和使用方法非常重要。本文将详细探讨JavaScript中构造函数...

    前端技术分享 JavaScript引擎实现 共14页.pptx

    JavaScript对象可以分为两类:构造函数和原型对象。 构造函数(Constructor)是用来创建对象的函数,它定义了对象的结构和行为。原型对象(Prototype)是对象的原型,它定义了对象的行为和继承关系。 在JavaScript...

    Essential Javascript

    JavaScript 的 OOP 特性主要通过构造函数、原型继承和 ES6 类语法实现: - **构造函数**:用于创建新对象,并且可以为这些对象设置初始属性值。 - **原型继承**:通过原型链实现了继承的概念。每个对象都有一个原型...

    you Don't Know JS-前三卷(中文)

    同时,JavaScript的原型机制是实现继承的主要方式,每个对象都有一个__proto__属性,指向其构造函数的prototype。通过原型链,对象可以继承另一对象的属性和方法。此外,你还将学习到如何使用Object.create、class...

    JavaScript语言中文参考手册.zip

    JavaScript,也被称为JS,是一种广泛应用于网页和网络应用的轻量级、解释型编程语言,尤其在客户端的前端开发中占据主导地位。本手册“JavaScript语言中文参考手册”旨在为学习者提供一个全面且易懂的JavaScript知识...

    JavaScript核心原理解析 下载下载因为太大存百度云盘2.zip

    每个对象都有一个`__proto__`属性,指向创建它的构造函数的原型对象,形成了原型链。通过原型链,可以查找对象上不存在的属性。 4. **函数与高阶函数**:JavaScript的函数是一等公民,可以作为变量赋值、作为参数...

    javascript权威指南电子书及全套源码

    书中会介绍对象字面量、构造函数、原型链、以及如何通过Object.create创建新对象。原型和继承是JavaScript的一大特色,书中会详细解析这些概念,并通过实例演示如何实现面向对象编程。 此外,JavaScript的作用域和...

    周爱民JavaScript 引擎技术

    在JavaScript中,原型继承是通过对象的__proto__属性实现的,每个对象都有一个指向其构造函数原型的链接。这使得对象可以共享属性和方法,实现继承。函数闭包是指函数能够访问并保存其外部作用域的状态,即使在其父...

    javascript快速查询手册

    原型和原型链是理解JavaScript继承的关键,每个对象都有一个proto属性,指向它的构造函数的prototype对象。通过原型链,子对象可以访问父对象的所有属性和方法。ES6引入了类的概念,但其实质仍然是基于原型的继承。 ...

    JAVASCRIPT完全解析

    - 每个对象都有一个内部属性[[Prototype]],它指向它的构造函数的prototype对象。 3. **异步编程**: - **回调函数**:传统处理异步操作的方式。 - **Promise**:ES6引入的新特性,用于更优雅地处理异步操作。 ...

    JS类中定义原型方法的两种实现的区别

    基于提供的代码示例,我们可以看到一个名为`NormalClass`的构造函数定义,并在其内部定义了两个属性和两个方法。其中,`Method1`是通过直接赋值法定义的,而`Method2`则是通过函数赋值法定义的。 ```javascript ...

    JavaScript内核系列 pdf

    掌握原型链的工作方式,以及如何使用构造函数、call()、apply()和bind()实现继承,对于JavaScript面向对象编程至关重要。 五、闭包与作用域 闭包是JavaScript中一种强大的特性,允许函数访问并操作其词法作用域内的...

    JS5参考手册

    以上只是JS5的一些基础知识点,完整的JScript5.5中文参考手册提供了更详细的API和语言特性解析,包括错误处理、类型转换、原型链、闭包、作用域等高级概念,对于深入理解和使用JS5非常有帮助。通过阅读手册,开发者...

Global site tag (gtag.js) - Google Analytics