android、 java调用js函数,传人变量类型问题

在java里面用 log记录到的结果

例如下面的 js 函数3个变量,id,type,position

function  testItem(id, type, position) {

   window.mItemJS.itemClick(id, type, position);

}

java 调用 testItem() 函数

第一种情况:

String str=其他+"onclick='testItem("+1000+",baba,"+2000+")'>";

log得到的数据;1000,undefined,2000

1000 与2000 传递过来都是正常的,但是 baba 却没有传递,而且提示“undefined”


第二种情况:

String str=其他+"onclick='testItem("+1000+",\"baba\","+2000+")'>";

log得到的数据;1000,baba,2000  都是正常的

结论: 当java传递参数执行js函数的时候,纯数字形变量(整形或者“1234”)不需要转义,而其他类型则需要添加表示类型的符号,比如字符型需要通过引号来表明它真的是字符型变量

推荐阅读更多精彩内容