/*=======闭包模式——静态私有变量,缺点:所有实例共享静态变量,实例没有私有变量=======*/
function myObject(){
//this.name = "asdfasdf";实例公有变量
};
(function(){
//静态私有变量
var name = "";
myObject.prototype.setName = function(str){
name = str;
};
myObject.prototype.write = function(){
console.log(name);
}
})();
var m1 = new myObject();
var m2 = new myObject();
m1.setName("licheng");
m2.write();
/*==================================================*/
/*=======构造函数模式——私有变量,缺点:每次产生实例对象都要生成同样一组新方法(方法就是对象,对象占内存),方法应该共享=======*/
function s(){
//私有变量
var name = "licheng";
this.setName=function(str){
name = str;//通过闭包特性,有权访问其作用域链上一层活动对象中的变量name
};
this.getName = function(){
console.log(name);
};
}
var s1 = new s();
var s2 = new s();
s1.setName("xiaofei");
s2.getName();
s1.write();
//以上两个模式都存在共同的缺点:多查找作用域链中的一个层次,就会在一定程度上影响查找速度,而这正是使用闭包和私有变量的一个明显//不足之处。
分享到:
相关推荐
JavaScript闭包 JavaScript闭包 JavaScript闭包 JavaScript闭包
闭包实现类的私有变量方式 通过 new 关键字 person 的构造函数内部的 this 将会指向 Tom,开辟新空间,再次全部执行一遍, class Person{ constructor(name){ let _num = 100; this.name = name; this.getNum...
Javascript中有几个非常重要的语言特性——对象、原型继承、闭包。其中闭包 对于那些使用传统静态语言C/C++的程序员来说是一个新的语言特性。本文将以例子入手来介绍Javascript闭包的语言特性,并结合一点 ...
一、变量的作用域 在介绍闭包之前,我们先理解JavaScript的变量作用域。变量的作用域分为两种:全局变量和局部变量。 var n = 999; //全局变量 function f1() { a = 100; //在这里a也是全局变量 alert(n); }...
本文实例讲述了javascript闭包(Closure)用法。分享给大家供大家参考,具体如下: closure被翻译成“闭包”,感觉这东西被包装的太学术化。下面参考书本和网上资源简单探讨一下(理解不当之处务请留意)。 1、什么是...
Javascript中有几个非常重要的语言特性——对象、原型继承、闭包。其中闭包 对于那些使用传统静态语言C/C 的程序员来说是一个新的语言特性。本文将以例子入手来介绍Javascript闭包的语言特性,并结合...
JavaScript缺少块级作用域,没有private修饰符,但它具有函数作用域。作用域的好处是内部函数可以访问它们的外部函数的参数和变量(除了this和argument
主要介绍了JavaScript闭包函数访问外部变量的方法,本文使用匿名函数来实现在闭包中访问外部变量,需要的朋友可以参考下
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
使用XMLHTTPRequest实现自定义ajax。javascript闭包模式写法。值的学习
Javascript 闭包完整解释
python 闭包和装饰器(csdn)————程序
闭包是ECMAScript (JavaScript)最强大的特性之一,但用好闭包的前提是必须理解闭包。闭包的创建相对容易,人们甚至会在不经意间创建闭包,但这些无意创建的闭包却存在潜在的危害,尤其是在比较常见的浏览器环境下...
javaScript闭包技术资料
深入理解javascript原型和闭包(01)——一切都是对象 深入理解javascript原型和闭包(02)——函数和对象的关系
本文实例讲述了JavaScript私有变量。分享给大家供大家参考,具体如下: 任何在函数中定义的变量,就是私有变量,因为这些变量在函数外部是无法访问到的。总的来说,私有变量包括函数的参数、局部变量和在函数内部...
javascript闭包高级教程,闭包内部实现机制的完美展现,值得研究,比较难。
javascript 闭包实例下载
1.5闭包的优缺点 1.6闭包的使用 2.垃圾回收机制 总结 前言 正文 1.闭包 1.1闭包是什么? 1.2闭包的特性 1.3理解闭包 1.4闭包的主要实现形式 1.5闭包的优缺点 1.6闭包的使用 2.垃圾回收...