四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

奇妙的js

復制代碼 代碼如下:
>>> 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定義后好似沒有辦法再修改了,不知道是不是這樣

JavaScript技術奇妙的js,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 一拜天地双男主| 带上她的眼睛| 九九九九九九九伊人| 野性狂欢大派对| 江湖之社团风暴| 第一财经今日股市直播回放| 大学生国防论文2000字| 出轨幻想| 十大名茶排名表| 张俪写真集照片| 北京卫视节目单全天| 念亲恩简谱| 日本变态视频| 安徽农金存款利率2024最新消息| 年轻的丈夫 电影| 都市频道今日节目表| 团结就是力量歌词电子版| 沙漠里的鱼| 抖隐| 钉子电影电视剧| 四查四看自我剖析材料| 诺拉·阿娜泽德尔| 狗报恩的10个征兆| 惊天十二小时| 光明与黑暗诸神的遗产攻略| cctv6电影节目表| 肖雨雨| after之后电影| 绷带怪人| 谜证在线观看免费完整版| tvb直播| 真的爱你中文谐音歌词| 免费看网站| 麦子叔| land of the lost| 戚薇床戏| 朱时茂电影| 电子元器件基础知识| 欧美日韩欧美日韩| 女演员大作战| 游泳池play高h|