相关疑难解决方法(0)

我应该使用JSLint或JSHint JavaScript验证吗?

我目前正在验证我对JSLint的JavaScript并取得进展,它正在帮助我编写更好的JavaScript - 特别是在使用Jquery库时.

现在我所遇到JSHint,一个叉的JSLint.
所以我想知道很多JavaScript驱动的Web应用程序,这是更好或最适用的验证工具:

  • JSLint还是JSHint?

我想现在决定验证机制并继续前进,将其用于客户端验证.

和jshint和jslint之间的区别?请在单个javascript示例中解释.

链接:

  1. jshint - http://www.jshint.com/

  2. jslint - http://jslint.com/

javascript jslint jshint

449
推荐指数
7
解决办法
15万
查看次数

解决JSLint错误

我已经开始使用JSLint了.我检查了我的代码,我收到了这个错误:

第92行的问题字符7:将调用移动到包含该函数的parens中.
})();

第92行的问题字符7:在parens中包装整个立即函数调用.
})();

如何修复此错误?

javascript jslint

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

这两个JavaScript声明有什么区别?

对于其中一个," ()"在里面,而另一个在外面.他们来了:

var a = (function() {
    return {
        bla: function() {
            console.log('a');
        }
    };
} () );

var b = (function() {
    return {
        bla: function() {
            console.log('b');
        }
    };
}) ();

a.bla();
b.bla();
Run Code Online (Sandbox Code Playgroud)

javascript

10
推荐指数
2
解决办法
299
查看次数

这些自执行匿名函数(又名IIFE)实现之间有什么区别

在许多书籍/ 博客文章中,自调用匿名函数模式的方式如下:

(function() {
  var foo = 'bar';
})();
Run Code Online (Sandbox Code Playgroud)

但是,在此上运行JSLint会出现此错误:

将调用移动到包含该函数的parens中.

例如将其改为此作品:

(function() {
  var foo = 'bar';
}());
Run Code Online (Sandbox Code Playgroud)

问题

  1. 为什么第一个实现对JSLint来说不够好?有什么区别?
  2. 什么是首选形式?JSLint总是对的吗?
  3. 它为什么有效?毕竟function(){}()抛出一个SyntaxError: Unexpected token (
    但用parens包裹它会让它突然间起作用吗?eg (function(){}()) - 工作正常
    (毕竟这是JavaScript,而不是Lisp,所以包装parens对ohterwise语法错误的影响是什么?)

编辑:这是对此的一些后续(虽然我不会说完全重复):JSLint错误:"将调用移动到包含该函数的parens",所以我的主要问题是#3,为什么它完全有效?

javascript

9
推荐指数
1
解决办法
610
查看次数

这两个javascript结构之间有什么区别

var myObject = (function(){

  var value = 0;

  return {
    getValue: function(){
      return value;
    }
  }

}());



var myObject = (function(){

  var value = 0;

  return {
    getValue: function(){
      return value;
    }
  }

})();
Run Code Online (Sandbox Code Playgroud)

执行似乎返回相同的Object.即,myObject包含

  {{
    getValue: function(){
      return value;
    }
  }}
Run Code Online (Sandbox Code Playgroud)

在这两种情况下.

我知道类似(function(){})()执行的东西因为(function(){})是一个返回函数的表达式,并且尾部()执行了返回的函数.

但为什么这会执行(function(){}())?我在这里期待语法错误.

javascript

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

标签 统计

javascript ×5

jslint ×2

jshint ×1