相关疑难解决方法(0)

JavaScript的"新"关键字被视为有害吗?

在另一个问题中,用户指出该new关键字使用起来很危险,并提出了一种不使用的对象创建解决方案new.我不相信这是真的,主要是因为我使用了Prototype,Scriptaculous和其他优秀的JavaScript库,并且每个人都使用了new关键字.

尽管如此,昨天我在YUI剧院观看道格拉斯·克罗克福德的演讲,他说的完全一样,他new在代码中不再使用关键字(Crockford on JavaScript - Act III:Function the Ultimate - 50:23分钟).

使用new关键字"不好" 吗?使用它有哪些优缺点?

javascript

566
推荐指数
12
解决办法
11万
查看次数

Javascript Object push()函数

我有一个javascript对象(我实际上通过ajax请求获取数据):

var data = {};
Run Code Online (Sandbox Code Playgroud)

我添加了一些东西:

data[0] = { "ID": "1"; "Status": "Valid" }
data[1] = { "ID": "2"; "Status": "Invalid" }
Run Code Online (Sandbox Code Playgroud)

现在我想删除状态无效的所有对象(但保持所有顺序相同):

var tempData = {};
for ( var index in data ) {
    if ( data[index].Status == "Valid" ) {
        tempData.push( data );
    }
}
data = tempData;
Run Code Online (Sandbox Code Playgroud)

在我看来,所有这一切都应该工作,但我收到一个错误,tempData.push不是一个函数.我理解为什么它与数组不一样,但我能做什么呢?

javascript json

87
推荐指数
4
解决办法
49万
查看次数

什么是JavaScript中的数组文字符号,何时使用它?

JSLint给了我这个错误:

第11行第33个问题:使用数组文字符号[].

var myArray = new Array();
Run Code Online (Sandbox Code Playgroud)

什么是数组文字符号?为什么它要我使用它?

它显示在这里new Array();应该工作正常......有什么我想念的吗?

javascript arrays jslint literals

65
推荐指数
2
解决办法
6万
查看次数

"对var os_map = {}使用数组文字符号[]"

我不明白为什么当我使用JavaScript文件运行JSLint时收到错误消息.

os_map = {}; Problem at line 28 character 36: Use the array literal notation [].如果我在JSLint中运行此代码,我会收到消息var .JSLint的选项如下.

/*jslint onevar: true, browser: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, strict: true, newcap: true, immed: true */
Run Code Online (Sandbox Code Playgroud)

声明对象(,它{})应该没问题,但JSLint建议使用空数组(,这是[])

:我找到了答案.我错了.这没什么不对var os_map = {}.代码显示在错误消息中,因为我没有使用"require strict";.我收到错误消息错误.谢谢回答我的问题.

javascript jslint

11
推荐指数
1
解决办法
1万
查看次数

这个javascript有什么问题?数组未定义

这段代码出了什么问题?

var divarray = document.getElementById("yui-main").getElementsByTagName("div");
var articleHTML = array();
var absHTML;
var keyHTML;
var bodyHTML = array();
var i = 0;
for ( var j in divarray) {
    if(divarray[i].className == "articleBody"){
  alert("found");
  articleHTML = divarray[i];
  break;
 }
 bodyHTML[i] = '';
 if(articleHTML[i].className == "issueMiniFeature"){continue;}
 if(articleHTML[i].className == "abstract"){absHTML = articleHTML[i]; continue;}
 if(articleHTML[i].className == "journalKeywords"){keyHTML = articleHTML[i]; continue;}
 bodyHTML[i] = articleHTML[i];
 i++;
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

ReferenceError: array is not defined
Run Code Online (Sandbox Code Playgroud)

我正在使用谷歌浏览器,如果它有帮助.

html javascript arrays reference

8
推荐指数
2
解决办法
4万
查看次数

这三种创建阵列的方法有什么区别吗?

这三种创建阵列的方法有什么区别吗?如果没有,为什么前两种方式存在,如果它们只是更多的代码?

1:

var myCars=new Array(); 
myCars[0]="Saab";       
myCars[1]="Volvo";
myCars[2]="BMW";
Run Code Online (Sandbox Code Playgroud)

2:

var myCars=new Array("Saab","Volvo","BMW");
Run Code Online (Sandbox Code Playgroud)

3:

var myCars=["Saab","Volvo","BMW"];
Run Code Online (Sandbox Code Playgroud)

javascript jquery

3
推荐指数
1
解决办法
205
查看次数

如何避免在以下javascript代码中使用"数组文字符号"jslint错误

可能重复:
var x = new Array()有什么问题;

if (!Number.prototype.toZeroPaddedString) {
  Number.prototype.toZeroPaddedString = function (count) {
    "use strict";
    var str = this.toString();
    return (new Array(count + 1 - str.length)).join('0') + str;
  };
}
Run Code Online (Sandbox Code Playgroud)

我希望我的代码能够通过jsLint标准清理,但是,我无法想象如何根据我想做的事情摆脱这个错误.

有什么建议?

谢谢.

javascript jslint

2
推荐指数
1
解决办法
2639
查看次数

JavaScript - 用于循环的数组

所以这就是我到目前为止所做的:

<script>
text = new Array("t", "te", "tes", "test");
for(new i; i < text.length; i++)
{
    document.getElementById('text').innerHTML=text[i];
}
</script>


<body>
<span id='text'></span>
</body>
Run Code Online (Sandbox Code Playgroud)

我稍后会添加一个计时器,但我的问题是,为什么我得到"ReferenceError'i'未定义"?它被定义为你可以看到..提前谢谢.

html javascript

0
推荐指数
1
解决办法
161
查看次数

标签 统计

javascript ×8

jslint ×3

arrays ×2

html ×2

jquery ×1

json ×1

literals ×1

reference ×1