js未定义错误index.html到其他js

时间:2011-05-20 09:08:58

标签: javascript undefined

js未定义错误

我们有以下小部件代码: 的index.html

<script type="text/javascript" language="javascript"> 
//<![CDATA[
 var param1 = "value";
 var param2 = "value2";

  //]]>
  </script> 
<script type="text/javascript" src="http://example.com/js/widget.js"></script>

widget.js

 var param1;
 var param2;
 document.write('<iframe '
                        + ' allowtransparency="true"'
                        + ' src="http://example.com/html/'
                        + '?param1='  + param1
                        + '&param2='  + param2
                        + '">'
                        + '</iframe>');

但 widget.js L6 param1 == undefined和param2 == undefined 为什么?  param1死在widget.js L1?

2 个答案:

答案 0 :(得分:3)

你必须删除widget.js中的变量定义,var关键字定义值为undefined的新变量。

var param1; //remove this
var param2; //remove this
 document.write('<iframe '
                        + ' allowtransparency="true"'
                        + ' src="http://example.com/html/'
                        + '?param1='  + param1
                        + '&param2='  + param2
                        + '">'
                        + '</iframe>');

答案 1 :(得分:1)

我会冒险猜测并且建议那不是完整的widget.js,而且你提供的代码是在函数调用中。

您发布的widget.js代码的前两行将在本地范围内创建新版本的param1 / 2,它们将是未定义的。

删除这些行。