jslint

Get warning when passing too few arguments to a javascript function

故事扮演 提交于 2021-02-07 10:10:17
问题 Is there a tool that can help me detect when a javascript function is being passed too few arguments? As far as I can tell, neither JSLint nor JSHint provides this feature. Just be make it clear, if I write: some_method = function(x,y) { // ..do stuff } some_method(2); I would like to be warned, that I might have to pass in another argument. 回答1: You can't do that, all parameters are always optional and you can pass an indefinite amount of parameters to a parameterless function (through the

JavaScript Function inside the loop

大城市里の小女人 提交于 2021-02-07 04:10:01
问题 Can someone explain to me why JSLint complains about "Function inside the loop" with this example: for (var i = 0; i < buttons.length; i++) { (function(i) { buttons[i].onclick = function(e) { t.progressBars[t.current].update(buttons[i].getAttribute("data-value")); } })(i); } But dosen't when I change it to: function makeHandler(i) { return function() { t.progressBars[t.current].update(buttons[i].getAttribute("data-value")); } } for (var i = 0; i < buttons.length; i++) { buttons[i].onclick =

前端科普系列(5):ESLint

跟風遠走 提交于 2020-10-30 19:51:29
作者:Morrain 【前端科普系列】帮助阅读者了解web前端,主要覆盖web前端的基础知识,但不深入讲解,定位为大而全并非细而精,适合非前端开发的同学对前端有一个系统的认识,能更好的与前端开发协作。尽可能的写成科普类文章,对于前端开发而言,只适合刚入门的新手。 本文为第五章,主要讲前端工程化中的很重要工具 ESLint,主要介绍 ESLint 的历史、用法以及如何基于ESLint 打造保护代码仓库优雅的护城河。 一、前言 战国时期强大的赵国想要一举攻打并吞并北边的燕国,而小国“梁城”位居两国之间,为战略要冲,是必取之地。于是赵国派遣大将巷淹中,率领十万大军攻打仅有四千人的“梁城”,梁城王向以守城著称的墨家求救。但梁城等到的却是一个其貌不扬、孤身应战的墨家侠客革离,谁料革离足智多谋,指挥梁城四千军民抵御十万赵军,功成身退。 (图片来源:网络) “梁城”就好比我们的项目仓库,“梁城”的秩序取决于“革离”有没有守好它!那我们的项目仓库呢? 你愿意看到城中杂乱无章、毫无规则、乱象丛生还是愿意看到城中秩序井然、风格统一、整齐有序?如何成为程序员里的“革离”,守好属于我们的天空之城? 二、关于 ESLint 1、ESLint 是什么 先来看下它在 官网 上的定义: Find and fix problems in your JavaScript code 没错就一句话, 发现并修复你

十年工作经验的前端高级工程师讲解,如何规划自己的职业生涯

戏子无情 提交于 2020-08-15 02:58:19
前端是什么 工作流程为从UI处得到原型图或者效果图,在项目(网站、微信公众号、小程序、WEBAPP)中还原图片效果,然后与后台进行各种数据交互。 在项目中充当一号背锅侠,项目出现问题第一个收到传唤的人。一个不受UI、后台待见,甚至不受协同开发的其他前端待见的岗位。 前端, 一个让我沉迷的岗位 前端, 一个将一张张UI效果图变成一个个生动的项目的岗位 一个将冰冷的后台数据转换为有趣的视觉享受的岗位 我感觉目前的前端市场整体还是处于迅速发展期,市场对于前端的需求也一直比较大。 但是前端存在一些比较畸形的地方,门槛低,随便培训上两个月就可以去应聘前端工程师,而培训之前大家从事的岗位是各式各样的,可能和计算机并没有太大关系,这就导致了要想进一步的提升自己比较困难。 所以市面上有很多这样的前端,培训出身,反复将一个技术在项目中使用,做到了某种技术的熟练,但是对于新技术的接受能力十分弱。 现在市场对于中高级的前端工程师需求更加迫切,所以入了前端的门,就需要不断的提升自己,无论你是学院派,还是培训派,还是自学派,都应该具有强烈的学习意识。 一个项目的起源来自于甲方,可能是你的老板或者你的客户,他们会提出需求,给你们描绘出一个世界。 这个抽象的世界会由UI变成一张张实图,交给你。而填充这个世界的数据也有由后台为你提供好。而你需要做的,就是在获取到这些之后将他们变成现实。 在这之前,你获取到需求之后

“严格使用”在JavaScript中有什么作用,其背后的原因是什么?

别来无恙 提交于 2020-08-13 09:54:41
问题: Recently, I ran some of my JavaScript code through Crockford's JSLint , and it gave the following error: 最近,我通过Crockford的 JSLint 运行了一些JavaScript代码,并给出了以下错误: Problem at line 1 character 1: Missing "use strict" statement. 第1行第1个字符处的问题:缺少“使用严格”语句。 Doing some searching, I realized that some people add "use strict"; 进行搜索后,我发现有些人添加了 "use strict"; into their JavaScript code. 纳入他们的JavaScript代码。 Once I added the statement, the error stopped appearing. 添加语句后,错误停止出现。 Unfortunately, Google did not reveal much of the history behind this string statement. 不幸的是,谷歌没有透露此字符串语句背后的许多历史。 Certainly it must have

什么是“Linting”?

谁说我不能喝 提交于 2020-08-11 18:36:38
问题: PHPLint, JSLint, and I recently came across "you can lint your JS code on the fly" while reading something about some IDE. PHPLint,JSLint和我最近遇到了“你可以动态地抓取你的JS代码”,同时阅读有关某些IDE的内容。 So, what is this linting that everyone knows but me? 那么,这是什么 掉毛 人人都知道,而我呢? 解决方案: 参考一: https://stackoom.com/question/ZgAB/什么是-Linting 参考二: https://oldbug.net/q/ZgAB/What-is-Linting 来源: oschina 链接: https://my.oschina.net/u/4438370/blog/4314983

JSLint error “A leading decimal point can be confused with a dot”

雨燕双飞 提交于 2020-07-04 08:50:05
问题 I'm using jslint.com to validate some functions and came across the error: "A leading decimal point can be confused with a dot" The line which triggered the error is as follows: if ( myvar = .95 ){ How do I correct it? 回答1: Easy, put a zero before the dot. I guess JSLint complains because the dot is also used for object properties so it can be confused. Plus you're missing an equals, but in JS is recommended to use triple equals: if (myvar === 0.95) { ... } Now JSLint won't complain anymore.

JSLint: Unexpected assignment expression

好久不见. 提交于 2020-07-03 11:53:07
问题 I get this warning: Unexpected assignment expression. return task.completed = true; // Line 63, Pos 39 When using this code: completeAll: function () { this.tasks = this.tasks.filter(function (task) { return task.completed = true; }); } Why? And how else could I write this expression to avoid JSLint throwing warnings? P.S. The codeblock is taken from the Vue TodoMVC Example here: http://todomvc.dev/examples/vue/, therefore I assume that code review must have already been happened. 回答1: It's