Я хочу сделать что-то вроде этого:JS, добавить параметр в функцию
var f = function(){
var args = arguments;
args.push(this._caller);
this._base(args);
};
f._caller = someObject;
f._base = function(x,y,z){ alert(x+':'+y+':'+z);};
f(y,z);
В принципе - я хочу, чтобы дать функцию некоторые внутренние параметры, но все же функция должна быть вызвана с его параметрами и пользователь не должен узнайте об этих параметрах, когда он вызывает эту функцию.
Проблема в том, что в теле функции «это» будет означать «окно», а не нужную функцию.
Так как я могу это сделать? И могу ли я сделать это вообще?
[ 'Функция # apply'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply). Также обратите внимание, что 'arguments' не является реальным массивом, вы не можете« вставлять »его. – DCoder
Это не оригинальный пример того, что я «работал» - он был больше, поэтому я сделал такое изменение. Спасибо за информацию, узнаю также –
, функция.pply не поможет, потому что вам все равно нужно передать этот параметр, или пользователь должен четко написать f.apply (f, ...), а я просто хочу f (.. .). Обновленный код, чтобы четко показать, что мне нужно –