我想知道是否有一种方法可以在Neil Fraser's JS-Interpreter的字符串原型中添加新的方法。documentation没有这样的例子,我也不能通过源代码来理解它。
我希望(如果有办法的话)类似于在创建过程中向解释器的全局对象添加API调用。
我所尝试的如下:
const interpreter = require('js-interpreter');
var initFunc = function (interpreter, globalObject) {
var stringPrototype = interpreter.nativeToPseudo(String.prototype);
var stringGreetWrapper = function greet() {
return "Hi " + this + "!";
};
interpreter.setProperty(stringPrototype, 'greet', interpreter.createNativeFunction(stringGreetWrapper));
};
var code = 'function foo(name) {return name.greet();}';
var myInterpreter = new interpreter(code, initFunc);
myInterpreter.appendCode('foo("John");');
myInterpreter.run();
var res = myIntepreter.value;
但它给了我一个错误:“undefined不是函数”
1条答案
按热度按时间eivnm1vs1#
是的,您可以像添加
alert
的代码那样做,请参见内联注解(您可以压缩代码,我希望明确显示每一步):