?? function.lib.js
字號:
?/*
#2008.01.17#
---
Function類擴充
*/
// (this as `Class is Function`).func.Bind(this);
// ex:
// function Car () {this.name = 'car'};
// Car.prototype.click = function () {alert(this.name);};
// var car = new Car();
// but.onclick = car.click.Bind(car);
Function.prototype.Bind = function (obj /* :Function */) {
var method = this;
temp = function () {
return method.apply(obj, arguments);
};
return temp;
};
// extends
// (Target as `Class is Function`).Extends(this);
Function.prototype.Extends = function (Class /* :Function */) {
if (!Class || !Class.constructor) return;
var re = /^function\s+(\S+)\s*\(/;
var c = re.exec(Class.constructor.toString());
var _Class;
if (Class = c && c[1] && (_Class = eval(c[1])).prototype) {
if (!_Class.__super__) _Class.__super__ = {};
c = re.exec(this.toString());
if (_Class.__super__[c[1]]) return;
_Class.__super__[c[1]] = this;
this.apply(Class);
for (var item in this.prototype) {
if (! Class[item]) {
Class[item] = this.prototype[item];
}
}
}
};
// rebuild
// func = func.Rebuild(['arg1', 'arg2', 'arg3',..., 'argN'], func, 'var self = arguments.callee.arg');
Function.prototype.Rebuild = function (args, addon) {
var r = ';var r_' + Math.floor(r = Math.random()) + '=' + r + ';';
var f = (f = this.toString()).substring(f.indexOf('{') + 1, f.lastIndexOf('}'));
var args = args.length > 0 ? "'" + args.join("','") + "'," : '';
return eval('new Function (' + args + 'addon + ";" + f + r)');
};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -