我有以下电话:
$.extend($.fn.dataTableExt.oSort, {
"datetime-uk-pre": function (a) {
from = a.split(' ');
var ukDatea = from[0].split('/');
var ukTimea = from[1].split(':');
return (ukDatea[2] + ukDatea[1] + ukDatea[0] + ukTimea[1] + ukTimea[0]) * 1;
}
有人可以解释“from =”在这里做了什么。我注意到,当我跑 JSHint然后它告诉我'from'没有定义。
答案 0 :(得分:5)
有人可以解释“from =”在这里做了什么。
它为名为from
我注意到当我运行JSHint时它会告诉我'from'没有定义。
看起来应该是var from =
。 (或者from
旨在用于更广泛的范围,但它在更广泛的范围内看起来不是一个有用的变量,如果是这种情况,应该仍然有{{1}更高的范围链)。
如果没有var from;
,则会创建一个全局变量。
答案 1 :(得分:0)
看起来就像它只是一个变量
from = a.split(' ');
可以在当前函数范围之外访问,这是一个数组..
答案 2 :(得分:0)
它只是一个变量。 from
并不代表JavaScript中的任何特殊内容。如果他们使用了正确的编码习惯,可能会在var from
某地宣布它。尝试搜索该字符串。
如果JSHint抱怨它,它可能没有被正确声明。您可能希望将该行重写为var from = a.split(' ');
以获得最佳实践。
答案 3 :(得分:0)
from
只是变量的名称,就像上面代码中的ukDatea
和ukTimea
一样。在JavaScript中,如果您使用新的变量名而不使用之前的关键字var
,则该变量将变为全局变量,这是JSHint在声明未定义from
时尝试告诉您的变量。
它应该在代码中的其他位置定义(例如var from
),或者您需要在此处添加var
关键字,这将使该行看起来像这样:
var from = a.split(' ');