我必須使用字符串來執行函數。所以我創建了一個新的函數,我把字符串。它的工作原理,但不是當我想打電話給在另一模塊中的特定功能:使用函數對象調用函數node.js
var mymodule = require('./mymodule');
...
mymodule.function(a, b); //Works
var functionTest1= new Function('var a = 2; console.log(a*a);');
functionTest1(); //Works
var functionTest2= new Function('mymodule.function(a, b)');
functionTest2(); //Doesn't work (error console : mymodule is not defined)
我在做什麼錯?還有其他方法可以做到嗎?
你爲什麼要做這個? *我必須使用字符串來執行函數。*爲什麼? – 2017-10-18 14:30:18
因爲字符串來自一個觀察者的模塊。所以如果我想在未來的另一個行爲,我只需要添加另一個模塊觀察員,並寫一個字符串的新功能。 (我不知道這是否是最好的想法,但我發現這很靈活) – Kruwe
你的例子在節點REPL中對我來說工作得很好。我意外地通過將myModule輸入爲myModule來錯誤地重現您的錯誤。也許這只是一個錯字? – chriskelly