QT CEF 使用JavaScript访问C++函数之参数问题

大家都知道JavaScript是弱类型语言,当我们使用var 声明变量时,类型其实并不明确。

使用CEF V8,接收JS函数时,如果参数我们需要传入数字,最好使用Number去转换一下,否则C++解析参数时可能会出现错误。

示例如下:

页面函数
 
function test()
{
    var age = $("#input_age").val();//年龄
    window.Hello(age);
}
 
c++ 函数
if (name == "Hello")
{
  int age = arguments[0]->GetIntValue();
  //此时age = 0 ;
}
 
我们应该修改页面函数 
 
function test()
{
    var age = $("#input_age").val();//年龄
    window.Hello(Number(age)); //此时c++使用int接收就是正常值了
}
 
 
 
posted @ 2021-09-01 16:46  nmhome  阅读(112)  评论(0编辑  收藏  举报