class Test{ constructor(hello) { this.hello = hello; }
test() { console.log(this.hello); } }
var t = new Test(‘World’); //这里会输出World t.test();
//这里可以取出test方法 var func = t[‘test’]; //这里会输出Cannot read property ‘hello’ of undefined func();
我曾经尝试这样赋值,但还是行不通,但我又要通过字符串调取方法怎么解决? //------------行不通的方法------------------- func.hello = t.hello; func(); //------------行不通的方法------------------- //----------------诡异的是这样却可行,求解为何---------------------------------- t[‘test’] (); //-----------------诡异的是这样却可行,求解为何---------------------------------
这里必须使用6.9.1+以上的nodejs版本
t.test();
//这里可以取出test方法 var func = t[‘test’].apply(t, args);
func();
搞清楚作用域