测试代码
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的闭包,作用域,原型,原型链,上下文环境以及DOM,BOM封装函数深度克隆,以及一些常见的·JS问题,试题简单但是容易混淆,作为前端工程师必考题
深度探讨javascript函数的原型链和闭包
深入理解javascript原型和闭包(01)——一切都是对象 深入理解javascript原型和闭包(02)——函数和对象的关系
(Swift)闭包构造函数
匿名函数,也称为拉姆达函数,是一种使用JavaScript...JavaScript中的匿名函数和闭包都是非常有用的特性,利用它们可以实现很多功能。不过,因为创建闭包必须维护额外的作用域,所以过度使用它们可能会占用大量内存。
闭包是ECMAScript (JavaScript)最强大的特性之一,但用好闭包的前提是必须理解闭包。闭包的创建相对容易,人们甚至会在...而闭包工作机制的实现很大程度上有赖于标识符(或者说对象属性)解析过程中作用域的角色。
JS三座大山同步异步同步异步区别作用域、闭包函数作用域链块作用域闭包闭包解决用var导致下标错误的问题投票机闭包两个面试题原型、原型链原型对象原型链完整原型链图 JS三座大山 同步异步同步异步区别作用域、...
swift 闭包+嵌套函数+extension+单例+嵌套函数
学习javascript闭包函数的实用文档,讲解全面、详细。pdf格式,
js闭包 • 每个函数都有一个包含词法环境的执行上下文,它的词法环境确定了函数内的变量赋值以及对外部环境的引用。...• JavaScript中闭包作用域是词法作用域,即它在代码写好之后就被静态决定了它的作用域。
面向对象概念(对象封装,各种继承,闭包原理,this作用域等)介绍清晰易懂
主要介绍了JavaScript作用域、闭包、对象与原型链,结合实例形式总结分析了javascript中变量与函数的作用域、闭包、对象、原形链相关概念、用法及注意事项,需要的朋友可以参考下
javascript原型和闭包
在这个项目中,我们将提供实践JavaScript问题,以帮助您更好地了解closures和constructors 。 设置 Fork此存储库。 Clone你的叉子。 用浏览器打开./index.html 。 方向 完成closures.js和constructors.js内部的...
4) 计算函数依赖的闭包。此步骤不作要求,但要会方法。个人总结:将所有属性元素组成一个集合(域)记为R;求R的所有子集(要用到第二步中的全排列~~~),设其中一个为Ri;对每一个子集求其闭包,记为Ri+;然后求Ri...
定时器版本
本文结合 ECMA 262 规范详解了闭包的内部工作机制,让 JavaScript 编程人员对闭包的理解从“嵌套的函数”深入到“标识符解析、执行环境和作用域链”等等 JavaScript 对象背后的运行机制当中,真正领会到闭包的实质。
闭包是指有权访问另一个函数作用域中的变量的函数,但作用域的配置机制有一个需要注意的地方,即闭包只能取得包含函数中任何变量的最后一个值。 如以下案例: function create(){ var arr = new Array(); ...
本文通过示例给大家介绍javascript的闭包,原型,和匿名函数,具体详情请看下文。 一 .>关于闭包 理解闭包 需要的知识 1.变量的作用域 例1: var n =99; //建立函数外的全局变量 function readA(){ alert(n)...