Я не знаю, что это возможно, но у меня есть особые ситуации, требующие этого.Возврат функции для внешней функции в Javascript
//Obj is a class with nothing.
Obj.prototype.v1 = function(){
//this is a normal statement.
//it could be something else
return 3;
}
//or it can be any way to declare a function:
var v1 = function(){return 3};
Obj.prototype.v2 = function(){
return this.v1()+2;
}
Как сделать это напрямую, возвращается 3 здесь? Это похоже на функцию v1(), что-то вроде псевдокода this.return(3)
для v2(), и, конечно, ничто не может быть достигнуто после первого возврата.
Если я генерирую код динамически и он должен быть возвратом во второй функции. (Таким образом, можно легко получить неожиданный маркер для return (return 3).v2()
, при попытке получить внутреннюю функцию, чтобы назвать себя, как это часть текущей функции.)
Есть в любом случае, чтобы сделать this.v1()
непосредственно вызвать вне функции v2()
вернуться, для первое возвращение, которое он встречает? Предпочтительно, путем фокусировки на модификации v1().
Непонятно, что вы просите. Я не знаю, что означает «тег String со значением функции». Вы хотите * сделать WHAT напрямую возвращением 3 здесь *? Который * первый возврат * вы имеете в виду? Что вы подразумеваете под * генерированием кода динамически *? Почему код, такой как 'return (return 3) .v2()' когда-либо генерируется или выполняется? –
Даже я не понимаю, о чем вы спрашиваете. –
Изменено, оно сгенерировано как 'return this.v1() +2', это утверждение верно, если нам не нужно v1(), чтобы вызвать прямой возврат, то я попытался выявить v1() из области текущей функции. – user3352539