Dan*_*son 2 javascript methods properties dynamic dart
您可以为 dart 中的函数添加属性吗?我试过这个:
void main(){
fn(){
//DoSomething
};
fn.id = 1; //Exception NoSuchMethod
}
Run Code Online (Sandbox Code Playgroud)
只是为了抛出 NoSuchMethod 异常。有没有什么方法可以像 JavaScript 一样在运行时向函数或任何类型的对象添加属性?
(另外,当我分配给属性时,为什么它说没有这样的方法异常?)
您不能在Function上添加属性。但是,您可以定义一个Object可以像函数一样调用的函数(请参阅Dart 中的模拟函数)。这是一个例子:
class WannabeFunction {
var id;
call(int a, int b) => a + b;
}
main() {
var wf = new WannabeFunction();
wf.id = 1;
wf(3, 4); // 7
}
Run Code Online (Sandbox Code Playgroud)
对于NoSuchMethodError: 当您使用时,您实际上调用fn.id = 1了隐式设置器。这就是你收到此错误的原因。id=fn