了解如何轻松修复 JavaScript 中的“无法读取未定义的属性 'push'”错误。JavaScript 中的“无法读取未定义的属性 'push'”错误发生在您尝试对要包含数组的变量调用该方法,但实际上包含值 。push() undefined
这可能是由多种原因引起的:
在变量上调用该方法,而不首先使用数组初始化它。push()
在数组元素上调用该方法,而不是在数组本身上调用该方法。push()
对先前设置为 的变量调用该方法。push()undefined
对不存在或值为 的对象属性调用该方法。push()undefined
我们将在本文中探讨所有这些可能原因的实用解决方案。
1. 在变量上调用 push() 方法,而不首先使用数组初始化它
要修复“无法读取属性 'push' of undefined”错误,请确保在调用该方法之前已使用数组初始化该变量。push()
在上面的示例中,我们在变量上调用了该方法,而无需先初始化它。push()doubles
由于未初始化的变量在 JavaScript 中的默认值为 ,因此调用会导致引发错误。undefinedpush()
要修复错误,我们所要做的就是将变量分配给一个数组(对于我们的用例为空):doubles
2. 在数组元素上调用 push() 方法,而不是数组本身
要修复“无法读取属性 'push' 的未定义”错误,请确保在调用 之前未从数组变量访问元素,而是在实际的数组变量上调用。push()push()
使用括号索引访问属性会给我们数组索引处的元素。数组没有 元素,因此计算结果为 并调用它会导致错误。00arr[0]undefinedpush()
为了解决这个问题,我们需要调用变量上的推动,而不是它的一个元素。array
3. 在先前设置为未定义的变量上调用 push() 方法
要修复“无法读取未定义的属性'push'”错误,请确保上次分配给变量的值不是 。undefined
这里的问题是,我们曾经明确地将变量设置为,但后来我们调用了变量。此问题的修复程序将因方案而异。undefinedpush()
也许您忘记在再次使用变量之前将其设置为定义的值:
或者,也许您犯了一个错误,根本不打算将变量分配给:undefined
4. 对不存在或值为未定义的对象属性调用 push() 方法
要修复 JavaScript 中“无法读取未定义的属性 'push'”错误,请确保要在其上调用该方法的对象属性存在且不是 。push()undefined
在本例中,出现错误是因为索引处的对象元素没有属性。1scores
从对象访问不存在的属性不会在 JavaScript 中引发错误,而是会为您提供一个值 。如果您尝试调用该不存在的属性上的方法,则会遇到错误。undefinedpush()
在这种情况下,我们可以通过将第二个数组元素的属性设置为定义的值来修复错误。score