0

我在一个相当简单的javascript代码上发生了相当奇怪的错误。主要是代码声称某些属性在事先明确使用时是未定义的。我将提供两个简单的示例:

在此处输入图像描述

这个函数接受一个对象数组并返回一个下拉列表的 html。stop 变量已分配给传入数组的长度,在定义行上引发错误。奇怪的是紧随其后的那一行;console.log("DO I HAVE A LENGTH?"+stop) 通过就好了。我能够使用带注释的 if (arr) 代码解决此问题。不幸的是,错误回到了这里:

在此处输入图像描述

正如您通过绘制不佳的 mspaint 箭头所看到的,在代码的前面检查了声称未定义的属性 javascript。关于可能发生的事情的任何想法,这让我发疯了!

请并感谢您的帮助!

4

1 回答 1

5

第二个问题是你的变量“a”和“b”需要var在这两个函数中声明。

这可能也是第一个问题。

因为你没有声明它们,这意味着这两个函数都在影响全局变量“a”和“b”,本质上是互相搞砸了。

一个非常好的习惯是打字

"use strict";

当您启动任何新的 JavaScript 代码文件时。在这种情况下,这会使那些对“a”和“b”的引用引发错误。就放

var a, b;

在这两个功能中。

于 2013-10-31T14:22:42.117 回答