我嘗試使用jquery(jquery-2.1.1)和構造函數來構建html。但是當我在for循環中嘗試這種方法時,循環無法停止。誰能告訴我爲什麼會發生?爲什麼這個循環無法停止?
下面是代碼。非常感謝。
function tag() {
this.addClass = function(...theArgs) {
for (index in theArgs) {
this.$html.addClass(theArgs[index]);
}
}
this.setAttr = function(attr, value) {
this.$html.attr(attr, value);
}
this.append = function(...theArgs) {
for (index in theArgs) {
this.$html.append(theArgs[index]);
}
}
this.find = function(value) {
return this.$html.find(value);
}
this.empty = function() {
this.$html.empty();
}
this.remove = function(value) {
this.find(value).remove();
}
this.clone = function() {
return jQuery.extend(true, {}, this);
}
this.show = function() {
return this.$html[0];
}
}
function label(text) {
tag.call(this);
this.$html = $("<label></label>");
this.append(text);
}
for(var index = 0; index < 2; index++) {
var fieldLabel = new label(1);
console.log(index);
}
在'.append()'中有一個undeclard'index',它們有衝突:'for(index中的Args){'。一定要聲明你的變量:'for(varArgs在Args中){' – 2017-04-06 14:21:40
...同樣在'addClass()'中。使用類似ESLint的linter來查找這些常見錯誤。它會爲你節省很多很多時間。 – 2017-04-06 14:22:48
...並且在數組中使用'for-in'在JS中並不是一個好主意。既然你使用'...'語法,你必須使用ES6的東西,所以我建議使用'for-for'循環。 – 2017-04-06 14:25:27