没有合适的资源?快使用搜索试试~ 我知道了~
解析John Resig Simple JavaScript Inheritance代码
需积分: 0 0 下载量 174 浏览量
2020-12-09
17:25:07
上传
评论
收藏 78KB PDF 举报
温馨提示
试读
4页
由于作者翻译会加入 自己的理解 以便自己学习和使用, 如果英文好的同学可看下面 如文章中有翻译错误还请留言. 交流并改正. (:======================Enein翻译========================= John Resig 写了一篇关于 JavaScript 里 类似其它语言的 “继承”, 灵感来自于 base2 and PrototypeJS. 他为文章起名为”Simple JavaScript Inheritance” . 他使用的一些很巧妙的技术来实现 super 方法. 你还可以看原文也会有详细的说明, 他也在他
资源推荐
资源详情
资源评论
解析解析John Resig Simple JavaScript Inheritance代码代码
由于作者翻译会加入 自己的理解 以便自己学习和使用, 如果英文好的同学可看下面 如文章中有翻译错误还请留言. 交流并改
正. (:
======================Enein翻译=========================
John Resig 写了一篇关于 JavaScript 里 类似其它语言的 “继承”, 灵感来自于 base2 and PrototypeJS. 他为文章起名
为”Simple JavaScript Inheritance” . 他使用的一些很巧妙的技术来实现 super 方法.
你还可以看原文也会有详细的说明, 他也在他的 “Secrets of a JavaScript Ninja”里有所介绍. 在书中可能方法有一些不同,
它在Object中加入了subClass 方法, 而不是创建一个全局变量.
Original Script – John Resig Simple JavaScript Inheritance
下面是原谅代码, 我移除了一些注释使用它看起来更清晰.
代码如下:
(function(){
var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ? /_super/ : /.*/;
this.Class = function(){};
Class.extend = function(prop) {
var _super = this.prototype;
initializing = true;
var prototype = new this();
initializing = false;
for (var name in prop) {
prototype[name] = typeof prop[name] == “function” &&
typeof _super[name] == “function” && fnTest.test(prop[name]) ?
(function(name, fn){
return function() {
var tmp = this._super;
this._super = _super[name];
var ret = fn.apply(this, arguments);
this._super = tmp;
return ret;
};
})(name, prop[name]) :
prop[name];
}
function Class() {
if ( !initializing && this.init )
this.init.apply(this, arguments);
}
Class.prototype = prototype;
Class.constructor = Class;
Class.extend = arguments.callee;
return Class;
};
})();
Breakdown of the Simple Inheritance script
下面我们来分析一下, 它是如何实现和有哪些技术被使用.
代码如下:
(function(){ // … })();
首先我们创建一个自执行匿名函数, 为代码创建一个作用域.
代码如下:
var initializing = false
资源评论
weixin_38581455
- 粉丝: 2
- 资源: 895
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功