【发布时间】:2015-07-19 11:11:14
【问题描述】:
这是我的代码:我想避免使用 this(第 3 行)和 new(第 23 行)。我想这样做是因为 Douglas Crockford 认为它们有害。
"use strict";
function capWord(inStr) {
this.firstIndex = function(inStr) {
document.write(capWord.upper(inStr[0]));
capWord.space(inStr);
};
capWord.space = function(inStr) {
for(var i=1;i<inStr.length;i=i+1) {
document.write(inStr[i]);
if (inStr[i] == " ") {
document.write(capWord.upper(inStr[i+1]));
i = i+1;
}
}
};
capWord.upper = function(charUpper) {
return charUpper.toUpperCase();
}
}
var insCapWord = new capWord();
insCapWord.firstIndex("learning cool stuff");
【问题讨论】:
-
你为什么要这样做?你试过自己做吗?
-
为什么要避开
this和new? -
JsLint 可能在抱怨它,但它几乎对所有事情都抱怨......
-
我从未使用过 JsLint,但我必须说我对它无法解析有效的常用语法感到不满意:代码
for(var i = 0; i < 10; i++) {}上的“Unexpected 'for'” 什么? -
可以重写代码以使其通过 jslint,即使使用
new关键字(这是通过使用CapWord而不是capWord来完成的),但这并没有成功非常好的代码。 Douglas Crockford 有一些关于语言的优点,但jslint工具只强制执行一些特定的规则,它不会对代码质量进行任何分析。例如,它没有捕捉到构造函数将函数附加到自身。
标签: javascript jslint