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 也是这种思路),本文简单的做个解释. 背景知识 你必须了解:引用类型.值类型.引用.对象.值类型的值(简称值). 关于引用.对象和值 ...
随机推荐
- 11.string容器
#include <iostream> //string的本质也是容器 #include <string> #include <cstdlib> using nam ...
- Mac or windows eclipse配置tomcat
1.选择window --> Preferences 首选项 2.选择server --> Runtime Environements --> Add 3.选择对应的tomcat版本 ...
- vue打包后显示空白正确处理方法
vue打包后显示空白正确处理方法是 1.找到配置文件(js与css加载不上) 修改 这样打包处理可以打开但是页面样式会找不到 2.修改(针对css中的图片加载不上) 找到对应的位置加上publicPa ...
- 洛谷3964 [TJOI2013]松鼠聚会
题目描述 草原上住着一群小松鼠,每个小松鼠都有一个家.时间长了,大家觉得应该聚一聚.但是草原非常大,松鼠们都很头疼应该在谁家聚会才最合理. 每个小松鼠的家可以用一个点x,y表示,两个点的距离定义为点( ...
- HDU-1035 Robot Motion 模拟问题(水题)
题目链接:https://cn.vjudge.net/problem/HDU-1035 水题 代码 #include <cstdio> #include <map> int h ...
- GIMP类似于PhotoShop的开源免费软件
首先我们先看看他的界面如何,都有哪些功能!而且它支持多种平台,可以在MacOS.Windows.Linux操作系统上使用.非常值得推荐! 1.官方地址下载地址: https://www.gimp. ...
- Eclipse StartExplorer插件
http://www.cnblogs.com/wuxiang/p/5489961.html
- struts2文件过滤拦截器fileUpload以及各种文件类型
本文某些内容复制自:http://zhidao.baidu.com/link?url=F0Z-FqbZ83BOj_xXp_B8rgJDzUoeVSWGgXwPNP5fEdLU1nvBK7yO4vnX_ ...
- hdu 5380 Travel with candy(双端队列)
pid=5380">题目链接:hdu 5380 Travel with candy 保持油箱一直处于满的状态,维护一个队列,记录当前C的油量中分别能够以多少价格退货,以及能够推货的量. ...
- [Poi] Setup PostCSS and Tailwind with Poi
This lesson walks through setting up a Poi project using PostCSS and the popular Tailwind library fo ...