主要用来将字符串类型的函数名转化为函数, 并且不会改变函数中this作用域。
§ 原型:
<function> cmstop.func(
ns, // 函数名
context // 对象上下文, 如window, parent
)
转化模板内使用的等字符串描述的函数, 如:
<li>
<a href="app.method">右键功能一</a>
</li>
我们后台大量使用右键菜单, 用li来描述项目菜单, 使用a的href属性描述函数引用, 在将app.method转化为正确的函数引用时, 要考虑到作用域, 此时应该使用cmstop.func。 考虑以下代码:
var name = {
test:"app's attr",
space:function(){
return this.test;
}
};
name.space(); // 1
var func = eval('name.space');
func(); // 2
var func = cmstop.func('name.space');
func(); // 3
以上1和3返回结果一样, 而2返回的不一样, 3的结果是我们所期望的, 通过cmstop.func将字符串描述的函数转化成正确的函数引用, 作用域没有变化。