2012-11-28 96 views
0

我正在JavaScript文件上运行jshint,并且其中一些函数的名称中有点(作为命名空间的一种方式)。特别是,我使用的是D3的库,和我有很多的代码看起来像jshint名称中的点的功能

d3.select("something") 

难道我只是需要关闭使用未定义变量的jshint的检查?或者是否有办法抑制某些变量名被检查。我正在使用grunt来构建项目。

+0

你应该尝试在第一行添加类似'/ * global d3:true * /'的东西。我在aptana中使用jshint,如果我使用这行代表我知道它们存在的对象,它不会抛出任何警告。 – helly0d

回答

4

错误。

您正在调用d3变量的select方法。
由于JSHint不知道d3变量,所以您会收到警告。

你需要告诉它d3全球其它地方已经定义是这样的:

/*global d3:false */ 

:false会告诉它抱怨,如果你曾经覆盖全球。

+0

在d3源代码中,有一个看起来像d3.select = function(selector){...}的定义。这不表示函数名是d3.select吗? –

+0

不是。它将一个值(恰好是一个函数)赋值给'd3'变量的'select'属性。 – SLaks

+0

@JeffStorey不,小数点是d3 [“select”]的语法糖,您将该方法存储在d3中。 – TheZ