奇妙的js

尚格明媛

尚格明媛

2016-02-19 09:08

今天图老师小编要向大家分享个奇妙的js教程,过程简单易学,相信聪明的你一定能轻松get!
代码如下:

 function a(){function b(){return "aaa"} Function.prototype.c=function(){return b();}}    
 a()    
 a.c    
function()    
 a.c()    
"aaa"   
 a.hasOwnProperty("c")    
false 

看这段代码,首先声明一个函数a,内部又定义了一个函数b,但是函数b不是函数对象a的方法,只是函数a块当中的临时变量函数(或者说私有函数,不知道怎么描述好),后面又定义了一个函数c是用function(){}在a内部定义的,所以会产生closure所以c可以遍历到a下面所有块内部变量,当然包括b,我又把c挂到了Function.prototype下面,就是不是直接挂a下,而是挂到a的原形链上,最后还是执行出来了,并且hasOwnProperty也是假,更有 

代码
代码如下:

 d={};    
Object    
 function a(){function b(){return "aaa"} d.c=function(){return b();}}    
 a()    
 d.c()    
"aaa"   


closure和函数执行的context一点关系没有,context可以用call apply方法改变this,可是closure在function定义后好似没有办法再修改了,不知道是不是这样
展开更多 50%)
分享

猜你喜欢

奇妙的js

Web开发
奇妙的js

奇妙的杏仁

生活常识 养生 健康
奇妙的杏仁

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

奇妙海胆怎么做 奇妙海胆的家常做法

海胆 鸡蛋 蔬菜
奇妙海胆怎么做 奇妙海胆的家常做法

奇妙炸蛋的做法 如何做奇妙炸蛋

皮蛋
奇妙炸蛋的做法 如何做奇妙炸蛋

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

奇妙海胆怎样做 最正宗奇妙海胆的做法

海胆 鸡蛋 蔬菜
奇妙海胆怎样做 最正宗奇妙海胆的做法

奇妙炸蛋如何做好吃 奇妙炸蛋的做法

皮蛋
奇妙炸蛋如何做好吃 奇妙炸蛋的做法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Android获取手机配置信息具体实现代码

Android获取手机配置信息具体实现代码

Starting MySQL.Manager of pid-file quit without updating file.[FAILED]的解决方法

Starting MySQL.Manager of pid-file quit without updating file.[FAILED]的解决方法
下拉加载更多内容 ↓