闭包管理器
来源:互联网 发布:电极式暖手宝 知乎 编辑:程序博客网 时间:2024/05/22 15:00
<script>var Modules = (function Manager(){ var modules = {}; function define(name,deps,impl){ for (var i = 0 ;i < deps.length;i++){ deps[i] = modules[deps[i]]; } modules[name] = impl.apply(impl,deps); } function get(name) { return modules[name]; } return { define:define, get:get }})();Modules.define("bar",[],function(){ function hello(who) { return "welcome"+who; } return { hello:hello }})Modules.define("foo",["bar"],function(bar){ var nameWho = "Kitty"; function awesome() { console.log(bar.hello(nameWho).toUpperCase()); } return { awesome:awesome }})var bar = Modules.get("bar");var foo =Modules.get("foo");console.log( bar.hello("Kitty") );foo.awesome();</script>
apply:劫持另外一个对象的方法,继承另外一个对象的属性。
Function.apply(obj,args)能接受两个参数
obj:这个对象代替Function类里的this对象
args:这是个数组,它将作为参数传递给Function(args-arguments)
<script> function hello() { { console.log("hello"); } } function hi() { hello.apply(this,arguments); console.log("hi"); } var Hi = new hi(); //hi.apply("hello",[]);</script>
阅读全文
0 0
- 闭包管理器
- 包管理器 应用管理器 activity管理器 讲解
- ruby包管理器
- 包管理器apt-cyg
- Linux包管理器
- mac的包管理器
- mac的包管理器
- Cocoapods - 包管理器
- Python 包管理器
- python 包管理器 easy_install
- 包管理器bower
- 包管理器Homebrew小结
- 各种包管理器
- Nim包管理器--Nimble
- JavaScript包管理器综述
- dpkg包管理器
- sublime 安装包管理器
- 扒一扒前端包管理器
- 类与对象-类的定义
- 本地连接云服务器上的kafka集群,进行java开发,报错
- oracle的层级查询
- 基于Hexo的逐梦小站上线,欢迎访问
- win64+python2.7(64位)+anaconda下安装xgboost
- 闭包管理器
- codevs 1576 最长严格上升子序列
- tensorflow 实战 猫狗大战(一)训练自己的数据
- Scrapy爬数据并存储到mysql中
- 利用C#制作简单的成绩管理器
- 171201—备忘录
- Servlet学习笔记(一)
- 2.add two sum
- NOIP2002过河卒