javascript 函数调用

背景:<a href=‘javascript:doDetail("+res[i][‘termType‘]+")‘>"+res[i][‘termType‘]+"</a>

一个链接,显式为 res[i][‘termType‘] 为返回结果的一个条目的一个字段,href是一个javascript方法

就是说点击会执行一个javascript方法,但是实际上方法时触发不了的,这里的语法有错误,错误找了很久终于知道了为什么不能触发这个方法,


以简单的例子来说明:

<html>

<body>

<script type="text/javascript">

function show(a)

{

    alert(a);

}

</script>

<button onclick = show()>click me</button>

</body>

</html>

一个按钮,点击触发show()方法,javascript方法调用值看方法名
onclick = show():因为没有给a传值,弹 undefined

onclick = show(1) : 1传递给了a,弹 1 

onclick = show(‘a‘) 此时传递给a的是a,弹a

onclick = show(a) 此时传递给a的是什么值呢,a在此处是一个变量,没有定义,这种情况会视为语法错误,无法触发方法

再看开头的语句<a href=‘javascript:doDetail("+res[i][‘termType‘]+")‘>"+res[i][‘termType‘]+"</a>

其实跟show(a)是一种情况,我本来是要把 res[i][‘termType‘]作为一个常量传递给方法用 这种写法显然做不到

修改如下<a href=‘javascript:doDetail(/""+res[i][‘termType‘]+"/")‘>"+res[i][‘termType‘]+"</a>

show(1) 的情况下 是因为javascript语法中 数字就是一个常量

javascript 函数调用,布布扣,bubuko.com

javascript 函数调用

上一篇:PC端写的API接口和手机端APP联合调试


下一篇:charles 模拟手机弱网、修改请求参数、修改返回值