-
<static> dsl(obj, members) → {string}
-
生成将对象的成员导出到当前作用域的代码,该代码可被eval()正确执行,
该函数生成的代码不能在strict模式下运行
Parameters:
Name |
Type |
Argument |
Default |
Description |
obj |
string
|
<optional>
|
this
|
|
members |
string
|
<optional>
|
|
指定要导入的成员,未指定则导入全部成员,用空格分隔成员名 |
Returns:
-
Type
-
string
Example
var Calculator = {
add: function(a, b){ return a + b },
sub: function(a, b){ return a - b }
}
eval(M.util.dsl(Calculator));
add(4, 6);
sub(10, 4);
-
<static> enumeration(names)
-
声明一个枚举
Parameters:
Name |
Type |
Argument |
Description |
names |
String
|
<repeatable>
|
enumeration key |
Example
var color = M.$enum("BLUE", "RED", "YELLOW");
color.BLUE
color.RED
color.YELLOW
var color = M.$enum({
"BLUE": -1,
"RED": 1
})
-
<static> fn()
-
在函数内部调用函数自身, 代替引用auguments.callee
-
<static> makeMultiTargetFn(fn) → {function}
-
包装只有两个参数的函数, 包装后会把第二个参数开始的所有参数依次传递给原函数运行
Parameters:
Name |
Type |
Description |
fn |
function
|
|
Returns:
-
Type
-
function
-
<static> methodize(fn, firstParam, getFirstParam) → {function}
-
包装纯函数,包装时指定纯函数的第一参数
Parameters:
Name |
Type |
Argument |
Default |
Description |
fn |
function
|
|
|
纯函数 |
firstParam |
Object
|
<optional>
|
this
|
fn的第一个参数,如果未传递getFirstParam参数 |
getFirstParam |
function
|
<optional>
|
|
获取fn的第一个参数的函数,调用时将把firstParam传递给它 |
Returns:
-
Type
-
function
-
<static> overwrite(obj, funcName, overwriter)
-
重写对象的方法,新方法将调用overwriter并把原方法作为第一个参数传递给它
Parameters:
Name |
Type |
Description |
obj |
Object
|
要重写方法的对象 |
funcName |
string
|
被重写的方法名 |
overwriter |
function
|
真正的覆盖函数 |
Example
var Jim = {
sayHi: function(){ return "Hi"}
}
M.util.overwrite(Jim, "sayHi", function(oldFn, name){
return oldFn.call(this) + ", " + name + "!";
})
Jim.sayHi("Lucy");
=> "Hi, Lucy!"
-
<static> parseArguNames(fn) → {Array}
-
获取函数的参数名称
Parameters:
Name |
Type |
Description |
fn |
function
|
|
Returns:
-
Type
-
Array
Example
function Add(number1, number2){}
M.util.parseArguNames(Add);
=> ["number1", "number2"]
-
<static> parseArray(arrayLikeObj) → {Array}
-
将类Array对象转换成真正的Array
Parameters:
Name |
Type |
Description |
arrayLikeObj |
Object
|
|
Returns:
-
Type
-
Array
-
<static> run(fn)
-
运行指定方法,避免在全局作用域下产生全局变量
Parameters:
Name |
Type |
Description |
fn |
function
|
|
-
<static> toObject(value) → {Object}
-
将值转换成其对应的引用对象
Parameters:
Name |
Type |
Description |
value |
string
|
number
|
bool
|
|
Returns:
-
Type
-
Object