JavaScript中未定义的错误

时间:2012-04-14 10:41:36

标签: javascript html xml

我从XML获取数据。我可以成功地从XML中获取价格,但是当我使用下面给出的函数时,会出现一个名为undefined的意外错误;

<html>
  <head>
    <script type="text/javascript">
      function myXml(origin, destination) {
        var x=xmlDoc.getElementsByTagName("flights");

        for(i=0;i<x.length;i++) {
          if(x[i].getAttribute('FrTLAs')==origin && x[i].getAttribute('destination')==destination) {
            document.write(x[i].getAttribute('price'))
          }
        }
      }
    </script>
  </head>
  <body>
    <script type="text/javascript">
      document.write(myXml('SYD','Bali'));
    </script>
  </body>
</html>

2 个答案:

答案 0 :(得分:3)

myXml('SYD','Bali')调用返回undefined,因为您不在函数体中返回任何内容。所以

document.write(myXml('SYD','Bali'));

将打印"undefined"。只需用以下代码替换上面的代码:

myXml('SYD','Bali');

答案 1 :(得分:1)

工程师是正确的,或者更好地从myXml函数返回值。

所以,document.write(undefined)不会发生,你可能不会得到上述错误。