Comments (6)
Agreed, accidentally posted a duplicate, think we can get a better title?
from jshint.
Fixed in master. By default it won't complain but you can roll back to the old behavior by using the new latedef
option.
from jshint.
Can you change default on jshint.com web page? It have option to enable/disable, 'When variable is undefined', but I think having functions declared later is not considered very bad practice, and sometimes unavoidable. I cannot uncheck this box however, because I would like still to check for things declared using var x;, and used before their definition:
function a() {
alert(b);
var b = 5;
}
This is actually subcase of original bug report.
Now unchecking, 'When variable is undefined' option, I do not have false positive "'a' is not defined", but also I do not have true positive "'b' is not defined'.
It makes jshint almost useless (for example for me), if you have lots of forward references in dense code (because filtering out manually functions names from report will take time).
Here is my saved report: http://www.jshint.com/reports/114118
In fact in my case it reports this false "'f' is not defined", despite disabling option about undefined variables.
So my proposition is to split "latedef" option into two separate ones. latedef functions and latedef non-functions.
from jshint.
As of importance of this issue, let me remember you, that almost similar bug is 3 or 4 times duplicated in issues list! And I still do not consider it fixed.
from jshint.
For simplicity, we don't provide UI for all options on the website, you can always use /*jshint latedef:true */
there though.
from jshint.
I think there is important distinction beetween, later definitions of variables, and later definitions of functions! They are even working in different ways in language (functions are parsed and added to scope before anyexecution takes place, and can be called, but variables declared with "var" will also be available before declaration place, but will be useless, because will contain "undefined").
from jshint.
Related Issues (20)
- Getting errors while adding as dev-dependancy HOT 1
- JSHint doesn't recognize bitwise operators like & | >> etc... HOT 2
- is there any kind of way to get the console log outputs using this tool? HOT 1
- can i customize the error messages generated by JSHINT? is there any locale files i can override? HOT 1
- Not work in VS Code's Terminal HOT 1
- 'fetch' is not defined. (W117) - Although it is a base feature of Node 18 (although experimental) HOT 3
- Error: JSHINT is not defined HOT 2
- False error on static property HOT 1
- W080 incorrect message for initializing const with undefined HOT 2
- jshint doesn't expect regexp literals in one-liners following if/while/for conditions, and also else HOT 3
- `jshint` breaks on experimental feature `import * as file_json from 'file.json' assert { 'type': 'json' };` HOT 11
- JShint in VScode HOT 1
- If variable is assigned but never used it should cause warning HOT 1
- esversion beyond 11 HOT 2
- Generate error on specific object properties HOT 1
- jshint 2.13.6 is not warning me about mixing tabs and spaces HOT 1
- No warnings about undefined variable when doing typeof yyy
- VSCode HOT 1
- Jshint doest trigger hint when access non exist property of an object HOT 1
- "Invalid regular expression" when /s flag is used on long RegExps
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jshint.