sách gpt4 ai đã đi

Javascript: Vòng lặp for cơ bản không hoạt động

In lại 作者:行者123 更新时间:2023-11-28 19:08:38 27 4
mua khóa gpt4 Nike

是否有任何原因导致以下内容不起作用:

for (i=0;i < someArray.length;i++) {
if (someArray[i].indexOf("something") !== -1) {
//do something here
}
}

最基本的“for”循环可能。但这不起作用。在第一行(循环声明,而不是循环内部),我得到“ Uncaught ReferenceError ;i 未定义。”

我在一个 Chrome 选项卡中打开此页面,并在另一个选项卡中打开该页面的另一个早期版本。在另一个选项卡中,这个循环运行得很好;在第一个选项卡中,此代码会引发错误。

编辑 - 2015 年 7 月 2 日

关于严格模式的回复很有帮助。在阅读了一些代码并浏览了代码之后,我已经了解了发生了什么。

令人困惑的是,两个版本的代码看起来都是这样的,有一些细微的差别(requirejs 模块):

define(
'viewModels/someViewModel',
['dependency1', 'dependency2', 'dependency3'],
function(dep1, dep2, dep3) {

"use strict";

function SomeViewModel(arg1, arg2) {
var self = this;
self.initialize();

self.removeRefinement = function(refinementString) {
var refinementArray = refinementString.split("&");

for (i=0;i < navigationArray.length;i++) { //<-- error

}
}
}
}
);

一个版本会引发引用错误。有一个没有。

这是一个大型 Web 应用程序,包含许多其他页面和 Javascript 文件。我唯一能想到的是,在代码的一个版本中,也许我无意中在应用程序的其他地方全局定义了它,而严格模式未启用。运行到断点并检查“窗口”后,我发现这正是发生的情况。

谢谢=D

1 Câu trả lời

如果您位于 strict mode ,您将收到错误 Uncaught ReferenceError ; i 未定义。如果您未处于严格模式,则不会收到错误。

这将引发错误

'use strict'
var someArray = ['aaa', 'bbb', 'ccc'];

for (i=0;i < someArray.length;i++) {
console.log(i)
if (someArray[i].indexOf("something") !== -1) {
//do something here
}
}

这不会

var someArray = ['aaa', 'bbb', 'ccc'];

for (i=0;i < someArray.length;i++) {
console.log(i)
if (someArray[i].indexOf("something") !== -1) {
//do something here
}
}

关于Javascript:基本 for 循环不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31172406/

27 4 0
Bài viết được đề xuất: python - Scipy 频谱图与 Matlab 频谱图
Bài viết được đề xuất: javascript - Angular 复选框未正确绑定(bind)
Bài viết được đề xuất: php - 获取用作 CSS 背景的图像的图像宽度和高度
Bài viết được đề xuất: javascript - 循环和递减总和
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com