jquery10 闭包示例
o = {
a:1,
o:{
b:2,
f : function(){
alert(o.a);//
alert(o.b);//undefined
}
}
}
o.o.f();
o = {
a:7,
o : {
a:1,
o:{
b:2,
f : function(){
alert(o.a);//
alert(o.b);//undefined
}
}
}
}
o.o.o.f();
o = {//这个o加到window闭包里面去了
a:7,
o : {//这个o没有
a:1,
o:{//这个o没有
b:2,
f : function(){
alert(o.a);//
alert(o.b);//undefined
}
}
}
}
o.o.o.f();
f = function(){
return {
a:1,
o:{
b:2,
f : function(){
alert(o.a);//o is not defined ,说明o不存在
alert(o.b);//o is not defined ,说明o不存在
}
}
}
}
f().o.f();
f = function(){
o = {a:7,b:8}
return {
a:1,
o:{
b:2,
f : function(){
alert(o.a);//
alert(o.b);//8 return的东西不在闭包里面
}
}
}
}
f().o.f();
f = function(){
o= {//这个o加到函数闭包里面去了
a:1,
o:{//这个o没有
b:2,
f : function(){
alert(o.a);//
alert(o.b);//undefined
}
}
}
return o;
}
f().o.f();
f = function(){
return {
a:1,
o:{
b:2,
f : function(){
o = {a:3,b:4}
alert(o.a);//
alert(o.b);//
}
}
}
}
f().o.f();
f = function(){
o = {a:5,b:6}
return function(){
a=1,
o={
b:2,
f : function(){
alert(o.a);//unudefined 以函数作为闭包层级,一层一层的向上查找,找到了就不找了
alert(o.b);//
}
}
return o;
}
}
f()().f();
f = function(){
o = {a:5,b:6}
return function(){
a=1,
b={
b:2,
f : function(){
alert(o.a);//
alert(o.b);//
}
}
return b;
}
}
f()().f();
f = function(){
return function(){
o = {a:15,b:16}//加到闭包
a=1,
b={//加到闭包
o:{a:11,b:12}, //没有加到闭包
b:2,
f : function(){
alert(o.a);//
alert(o.b);//
}
}
return b;
}
}
f()().f();
jquery10 闭包示例的更多相关文章
- JavaScript闭包示例
在下面的例子中,为什么点击所有的段落p输出都是5,而不是alert出对应的0,1,2,3,4. <html> <head> <meta charset="utf ...
- Closure闭包示例
var foo = function(){ var cnt = 0; return function(){ return cnt++; }; }; var closure = foo(); conso ...
- 一个简单的Javascript闭包示例
//=====用闭包实现函数的Curry化===== //数字求和函数的函数生成器 function addGenerator( num ){ //返回一个简单的匿名函数,求两个数的和,其中第一个数字 ...
- 通过示例学习JavaScript闭包
译者按: 在上一篇博客,我们通过实现一个计数器,了解了如何使用闭包(Closure),这篇博客将提供一些代码示例,帮助大家理解闭包. 原文: JavaScript Closures for Dummi ...
- JavaScript学习总结——我所理解的JavaScript闭包
一.闭包(Closure) 1.1.什么是闭包? 理解闭包概念: a.闭包是指有权限访问另一个函数作用域的变量的函数,创建闭包的常见方式就是在一个函数内部创建另一个函数,也就是创建一个内部函数,创建一 ...
- 我所理解的JavaScript闭包
目录 一.闭包(Closure) 1.1.什么是闭包? 1.2.为什么要用闭包(作用)? 1.2.1.保护函数内的变量安全. 1.2.2.通过访问外部变量,一个闭包可以暂时保存这些变量的上下文环境,当 ...
- 《你不知道的JavaScript》第一部分:作用域和闭包
第1章 作用域是什么 抛出问题:程序中的变量存储在哪里?程序需要时,如何找到它们? 设计 作用域 的目的:为了更好地存储和访问变量. 作用域:根据名称查找变量的一套规则,用于确定在何处以及如何查找变量 ...
- python 装饰器、内部函数、闭包简单理解
python内部函数.闭包共同之处在于都是以函数作为参数传递到函数,不同之处在于返回与调用有所区别. 1.python内部函数 python内部函数示例: def test(*args): def a ...
- C#编译器闭包机制
背景 C# 在编译器层面为我们提供了闭包机制(Java7 和 Go 也是这种思路),本文简单的做个解释. 背景知识 你必须了解:引用类型.值类型.引用.对象.值类型的值(简称值). 关于引用.对象和值 ...
随机推荐
- ZooKeeper Recipes and Solutions
原文地址:http://zookeeper.apache.org/doc/current/recipes.html 参考:https://zookeeper.apache.org/doc/trunk/ ...
- SparkCore基础(二)
* SparkCore基础(二) 继续探讨SparkCore,开门见山,不多废话. SparkApplication结构探讨 包含关系: 之前我们运行过很多App了,其实每一个App都包含若干个Job ...
- 重温前端基础之-css浮动之怪异现象
其实,两种情况中box2的内容都是围绕着浮动元素box1来的. 因为:浮动元素会覆盖块元素,但块元素里的内容(内联盒)不会被覆盖,而是围绕着浮动盒. 将box1的背景色去掉,真相就大白了: 此时发现, ...
- AngularJs轻松入门(八)Cookies读写
虽然使用JavaScript创建和获取Cookie很简单,AngularJs还是把它作为一个单独的模块进行了封装,模块名为ngCookies,和前面的教程中做法一样,先引入angular-cookie ...
- T_SQL 日期函数
日期函数基数表达式的日期和时间或者是从时间间隔中返回值. GETDATE(),返回当前系统的日期和时间.例: SELECT GETDATE(); 结果为:2010-05-18 15:53:08.92 ...
- HDU 5214 Movie【贪心】
题意:给出n,l[1],r[1],a,b,c,d 其中 l[i]=l[i-1]*a+b,r[i]=r[i-1]*c+d; 问能否从这n个区间中选出不相交不重叠的三个区间 看的题解 先考虑最左边的区间, ...
- url链接打开本地应用(测试通过)
基于windows!! 类比mailto://XXXX 主要参考: https://www.cnblogs.com/snow365/p/6428212.html 应用 1.在网页上本地办公 网页应用越 ...
- Ubuntu命令行快捷启动Pycharm
我pycharm安装目录为/home/dell/pycharm-community-2018.1.2/bin.那么安装完成之后系统不会给pycharm添加系统路径,只有把终端切换到安装目录/home/ ...
- 使用SVN+Axure RP 8.0创建团队项目
一.使用到的工具:VisualSVN Server --SVN服务器:https://www.visualsvn.com/server/ Axure RP 8.0 :http://www.downc ...
- 熟悉Android开发不得不知道的技巧
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 1.用Eclipse插件将文件批量编码如GBK-UTF-8 用 ...