3

我用这个:

 Local<Value> argv[argc] = { String::New("hello world") };

但现在我在 node.js 网站上看到了这个例子:

 Local<Value> argv[argc] = { Local<Value>::New(String::New("hello world")) };

这是什么意思?有什么区别,当一个 dwhy 我应该使用Local<Value>除了String::New()

4

1 回答 1

3

显然,本例中的 node.js 示例是错误的/效率低下的。

https://github.com/joyent/node/commit/98aad77f466d9c36947f2cbb6d07b75009795ed2#commitcomment-5532648

jnardone 2 小时前添加了一条注释

这只是那些总是错误的事情之一,还是有潜在的 v8 变化意味着这应该改变?额外的 Local::New 总是看起来很奇怪,但我不知道埋在 v8 中的东西是否需要这个额外的包装器。

bnoordhuis 7 分钟前添加了一条注释

是清理。从本地创建一个本地并不是有害的,但它是多余的并且效率略低。

所以,你的第一种格式很好。

于 2014-03-01T16:15:59.197 回答