Javascript 查找模块中的函数
我有以下模块 module.jsJavascript 查找模块中的函数,javascript,jquery,Javascript,Jquery,我有以下模块 module.js var Instance = (function () { jsfunc('fn'); var fn = function () { console.log('this in fn'); } }()); jsfunc.js function jsfunc(fn) { // how to find if fn is defined in Instance module } 当我传递字符串时,它是
var Instance = (function () {
jsfunc('fn');
var fn = function () {
console.log('this in fn');
}
}());
jsfunc.js
function jsfunc(fn) {
// how to find if fn is defined in Instance module
}
当我传递字符串时,它是
实例
模块中的一个函数。然后我想检查jsfunc
的参数函数是否在实例中定义如何实现这一点?您需要传递函数引用而不是函数名,因为它位于闭包范围内
var Instance = (function () {
var fn = function () {
console.log('this in fn');
}
jsfunc(fn);
}());
function jsfunc(fn) {
// how to find if fn is defined in Instance module
if (typeof fn == 'function') {
fn()
}
}
演示:
还要注意,实例
的值将是未定义的
,因为匿名函数没有返回值。您需要传递函数引用,而不是函数名,因为它在闭包范围内
var Instance = (function () {
var fn = function () {
console.log('this in fn');
}
jsfunc(fn);
}());
function jsfunc(fn) {
// how to find if fn is defined in Instance module
if (typeof fn == 'function') {
fn()
}
}
演示:
还要注意,实例
的值将是未定义的
,因为匿名函数没有返回值。他是JScript,JQuery genious,machine!:)我想传递字符串而不是函数引用。@2619这样做的具体原因是什么?除非它们在一个共享范围内,否则没有什么可以做的……原因是我将用键/值对而不是一个字符串来传递一个对象。这些对象的值应该是字符串。@2619如果你能真正解释你想做什么,那么我们可以看看如何实现它。。。在所有的语言中都会有一些限制,我们总是可以通过做出一些妥协来找到一些解决方法(如JScript、JQuery genious、machine!)我想传递字符串而不是函数引用。@2619这样做的具体原因是什么?除非它们在一个共享范围内,否则没有什么可以做的……原因是我将用键/值对而不是一个字符串来传递一个对象。这些对象的值应该是字符串。@2619如果你能真正解释你想做什么,那么我们可以看看如何实现它。。。在所有语言中都会有一些限制,我们总是可以通过做出一些妥协来找到一些解决办法