奇妙的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偷钱流符文搭配推荐

Svetlana broward的奇妙世界

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
Svetlana broward的奇妙世界

错位少女的奇妙青春

摄影 人像摄影 静物摄影
错位少女的奇妙青春

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]的解决方法
下拉加载更多内容 ↓