Javascript 如何在使用jQuery.extend()执行重写时包含对原始函数的引用
所以,我试图重写一个函数,但在方法中包含它的原始方法Javascript 如何在使用jQuery.extend()执行重写时包含对原始函数的引用,javascript,debugging,syntax,scope,extend,Javascript,Debugging,Syntax,Scope,Extend,所以,我试图重写一个函数,但在方法中包含它的原始方法 var origFunction = $.fn.pluginFunction; $.fn.extend({ pluginFunction: function() { // `origFunction` is available via Closure, // now how can I declare the $.extended function
var origFunction = $.fn.pluginFunction;
$.fn.extend({
pluginFunction: function() {
// `origFunction` is available via Closure,
// now how can I declare the $.extended function here
// to preserve the original methods and then override
// only the following object?
myObject = {
'key1' : 'val1',
'key2' : 'val2',
}
}
});
用于调用原始
origFunction.apply(this,arguments);
但是,如果myObject
是origFunction
内部的局部变量,则不会产生任何影响 用于调用原始文件
origFunction.apply(this,arguments);
但是,如果
myObject
是origFunction
内部的局部变量,则不会产生任何影响 修改代码:使用apply
调用origFunction
。只有当myObject不是方法的私有变量时,才可以更改它(它应该可以从重写方法全局访问)
修改代码:使用
apply
调用origFunction
。只有当myObject不是方法的私有变量时,才可以更改它(它应该可以从重写方法全局访问)
用户应用()
apply使用一组参数调用函数。它不是jQuery的一部分,而是核心Javascript的一部分。但是,jQuery文档中提到了这一点:
语法:
somefunction.apply(thisobj, argsarray)
上面调用函数somefunction,将其设置为函数范围内的thisobj,并将argsarray中的参数作为参数传递给函数。User apply()
apply使用一组参数调用函数。它不是jQuery的一部分,而是核心Javascript的一部分。但是,jQuery文档中提到了这一点:
语法:
somefunction.apply(thisobj, argsarray)
上面调用函数somefunction,将其设置为函数作用域内的thisobj,并将argsarray中的参数作为参数传递给函数。这不起作用,因为执行
origFunction.apply(this,arguments)
会过早地执行函数。我正在尝试调试它,并添加一个回调,这样我可以确保在执行它之前正确扩展该函数,但您建议的origFunction()
apply实际上是我问题的根源-在调试器中遍历它,插件在扩展之前是在这一行执行的。它是如何提前执行的?没有理解你的意思。这不起作用,因为执行origFunction.apply(这个,参数)
会过早地执行函数。我正在尝试调试它,并添加一个回调,这样我可以确保在执行它之前正确扩展该函数,但您建议的origFunction()
apply实际上是我问题的根源-在调试器中遍历它,插件在扩展之前是在这一行执行的。它是如何提前执行的?没有理解你的意思。这不起作用,因为执行origFunction.apply(这个,参数)
会过早地执行函数。我正在尝试调试它,并添加一个回调,这样我可以确保在执行它之前正确扩展该函数,但您建议的origFunction()
apply实际上是我问题的根源-在调试器中遍历它,插件在扩展之前就在这一行执行。这不起作用,因为执行origFunction.apply(这个,参数)
会过早地执行函数。我正在尝试调试它,并添加一个回调函数,这样我可以确保在执行它之前正确扩展该函数,但您建议的origFunction()
apply实际上是我问题的根源-在调试器中遍历它,插件在扩展之前在这一行执行。