作家
登录

奇妙的js

作者: 来源:www.28hudong.com 2013-03-30 03:15:58 阅读 我要评论

复制代码 代码如下:>>> 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定义后好似没有办法再修改了,不知道是不是这样

  推荐阅读

  JS网络游戏-(模拟城市webgame)提供的一些例子下载

网上有好多模拟城市系统,但好像也多半是FLASH开发的。目前这个采用的寻路等核心脚本都是用JS实现的。大部分图片素材修改自网络。这个版本仅为DEMO,但比以前做的相对好点。相信下个版本可以完整的做出来了地址 (不>>>详细阅读


本文标题:奇妙的js

地址:http://www.17bianji.com/kaifa2/JS/30038.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)