三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 242|回复: 0
打印 上一主题 下一主题

nodejs-函数参数

[复制链接]

1562

主题

1564

帖子

4904

积分

博士

Rank: 8Rank: 8

积分
4904
跳转到指定楼层
楼主
发表于 2017-8-8 07:59:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从以下模式中解释了如何从 JavaScript 函数中读取参数,并返回结果。仅需要一个addon.cc文件:
  1. // addon.cc
  2. #include <node.h>

  3. using namespace v8;

  4. void Add(const FunctionCallbackInfo<Value>& args) {
  5.   Isolate* isolate = Isolate::GetCurrent();
  6.   HandleScope scope(isolate);

  7.   if (args.Length() < 2) {
  8.     isolate->ThrowException(Exception::TypeError(
  9.         String::NewFromUtf8(isolate, "Wrong number of arguments")));
  10.     return;
  11.   }

  12.   if (!args[0]->IsNumber() || !args[1]->IsNumber()) {
  13.     isolate->ThrowException(Exception::TypeError(
  14.         String::NewFromUtf8(isolate, "Wrong arguments")));
  15.     return;
  16.   }

  17.   double value = args[0]->NumberValue() + args[1]->NumberValue();
  18.   Local<Number> num = Number::New(isolate, value);

  19.   args.GetReturnValue().Set(num);
  20. }

  21. void Init(Handle<Object> exports) {
  22.   NODE_SET_METHOD(exports, "add", Add);
  23. }

  24. NODE_MODULE(addon, Init)
复制代码
可以用以下的 JavaScript 代码片段测试:
  1. // test.js
  2. var addon = require('./build/Release/addon');

  3. console.log( 'This should be eight:', addon.add(3,5) );
复制代码


回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2025-6-27 00:48 , Processed in 0.032350 second(s), 23 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表