var returns = function(){return fn.apply($pick(options.bind,fn),args);}; 先说$pick(options.bind,fn) 是一个函数调用并且有一个返回值, 我想一定是返回一个对象。 而这个$pick方法有需要两个参数“所以在返回的时候应该还带有bind自身的属性或方法 ” 要看$pick逻辑返回来是那个对象。
怎么在用函数的使用调用bind中的方法了。 没有看明白你表达的意思?
怎么在用函数的使用调用bind中的方法了。 没有看明白你表达的意思?
utils.merge = function() //把所有参数的属性合并到一个新的对象,并且返回这个新的对象
{
var mix = {};
for(var i = 0;i < arguments.length;i++)
{
for(var property in arguments[i])
{
var ap = arguments[i][property];
var mp = mix[property];
if(mp && utils.getType(ap) == 'object' && utils.getType(mp) == 'object')mix[property] = utils.merge(mp,ap);
else mix[property] = ap;
}
}
return mix;
};...
function $pick(obj,picked)
{
return (obj != undefined) ? obj : picked;
};...
另外lz的"怎么在用函数的使用调用bind中的方法了 不明白 ",lz看一下bind其实是options中的一个属性。
to 3 不是继承 是options调用fn(也就是函数)的方法我的问题在这个地方
return fn.apply($pick(options.bind,fn)
我以为返回的是个options这个类,他带有一个方法是fn函数
结果这是错误的
它只是返回 options执行函数fn的结果 (这样理解应该没错吧,如果错了请指出)还有点问题
只能用类里面的参数吗?
就象这样
var gg = function(){
document.getElementById('ss').innerHTML = arguments[0];
}.create({bind:'aa',arguments:'cc',delay:2000})()
//在上面发的程序的前面加个<div id='ss'></div>就可以运行了
我想知道可不可以用函数的时候直接用参数,也就是不用var gg =function()..这样写,直接调用函数和函数的方法
//上面的东西是可以直接调试的