Js函数调用问题


   
  一个html中的body里调用代码大体结构如下:
  
<body>
<script>
Ext.onReady(function(){

function update(){
return "<a class=update href='javascript:updateR()'></a>";
}
//问题在此之下
function updateR(){} //1
var updateR=function(){} //2
//问题在此之上
column中的header属性:renderer:update,

}
</script>
</body>

最终实现的是点击一个column中的图标,调用update,在调用updateR
这个调用的问题是,如果我使用1声明函数,则点击的时候会显示updateR未定义,如果使用2表达式声明则可以。
求助各位大牛解释,感激不尽!!

JavaScript ExtJS

funik 11 years, 3 months ago

当你点击 a 的时候:

   
  href='javascript:updateR()'
 

相当于调用了:

   
  window.updateR();
 

而你的 updateR函数定义在闭包里面,肯定未定义, 作用域问题 ,可以用:

   
  window.updateR=function(){}
 

至于你说的表达式声明为什么可以的话,你确定加了 var 可以?

jarbo answered 11 years, 3 months ago

Your Answer