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 函数调用

时间: 2024-10-19 03:58:22

javascript 函数调用的相关文章

JavaScript函数调用规则

1. [代码][JavaScript]代码     JavaScript函数调用规则一 (1)全局函数调用:function makeArray( arg1, arg2 ){    return [this , arg1 , arg2 ];}这是一个最常用的定义函数方式.相信学习JavaScript的人对它的调用并不陌生.调用代码如下:makeArray('one', 'two');// => [ window, 'one', 'two' ] 这种方式可以说是全局的函数调用.为什么说是全局的函数

【转】显示JavaScript函数调用堆栈的方法

显示JavaScript函数调用堆栈的方法 许多大型的JavaScript应用程序间的函数调用关系是非常复杂的, 在开发或者调试过程中,经常需要跟踪某个函数是由哪些函数调用后才触发执行的,弄清楚这些函数的调用顺序对我们理解代码的数据流向是非常重要的. Firebug和Chrome提供了console.trace()来显示函数堆栈,在需要调试的地方加上下面的一行代码就能显示该函数调用时的上下文关系. IE6就没有这么方便了,它没有提供显示函数堆栈的工具,当不可避免的需要在IE6下调试代码时,使用下

&quot;大哥,割草机借我用一下,我修整一下草坪。&quot; ---- 谈谈this与JavaScript函数调用的不解之缘

在写上一篇有关apply和call的博文时(闲聊JS中的apply和call),起初我还是担心大家理解起来比较困难,因为要理解apply调用方式的前提是,至少先理解在JavaScript中函数是什么?this到底代表什么意思?等等.不过从大家的反馈来看,我的担心是多余的,诸位园友都是高手,理解这些基础的东东是小菜一碟.话虽这样讲,不过今天我还是和大家聊聊JavaScript中与this相关的各种函数调用方式,可以把知识补充完整,日后回顾起来也比较方便. [背景介绍]光明小区是一个别墅小区,家家户

javascript函数调用的各种方法!!

在JavaScript中一共有下面4种调用方式: (1) 基本函数调用 (2)方法调用 (3)构造器调用 (4)通过call()和apply()进行调用 1. 基本函数调用 普通函数调用模式,如: JavaScript code? 1 2 3 4   function fn(o){      --    }   fn({x:1}); 在基本函数调用中, (1)每个参数作为实参传递给声明函数时定义的形参: (2)this被绑定到全局变量(直接调用一般指的是window) JavaScript co

JavaScript函数调用

一.第一种情况:在<script></script>标签内调用. 1 <script type="text/javascript"> 2 function add() 3 { 4 sum = 1 + 2; 5 alert(sum); 6 } 7 add();//调用函数,直接写函数名. 8 </script> 9 10 另一种写法 11 <script type="text/javascript"> 12

JavaScript函数调用模式

1.方法调用模式: var myObj = { value : 0; increment:function(inc){ this.value += typeof inc === 'number' ? inc : 1; } } myObj.increment(); console.info(myObj.value); // 1 2.函数调用模式: 当一个函数并非一个对象的属性时,那么它被当做一个函数来使用,这时 this 被绑定到全局对象,要解决这个问题,需要在内部重新命名一个变量.获取内部函数的

JavaScript 函数调用时带括号和不带括号的区别

function countBodyChildren(){ var body_element = document.getElementsByTagName("body")[0]; alert(body_element.childNodes.length); } window.onload = countBodyChildren; //window.onload = countBodyChildren(); 代码功能:在弹出框显示body元素的子元素. 不带括号为9: 带括号为8,在加

Javascript函数调用隐式对象arguments

Js在函数调用时会创建一个隐式的的对象arguments. arguments包含了函数调用时实际传递给函数的参数数组对象. App = {}; App.fun0 = function(){ console.log(arguments) }; App.fun1 = function(arg1){ console.log(arguments) }; App.fun2 = function(arg1, arg2){ console.log(arguments) }; App.call1 = func

[JavaScript]函数调用作用域的一些问题

[function].call(obj,param1,param2,....) 让函数[function]的当前作用域变成obj,即函数中的this变成这个obj,同时函数接收obj对象的指定的几个参数. [function].apply(obj,arguments) 让函数[function]的当前作用域变成obj,即函数中的this变成这个obj,同时函数接收obj对象的参数列表. 参考网页:http://www.cnblogs.com/KeenLeung/archive/2012/11/1