《JavaScript语言精粹》--JSLint

/*
	JSLint
		JSLint:一个JS语法检查器和校验器

	未定义的变量和函数
		JSLint期望所有的变量和函数在使用或调用前都已被声明
		全局声明注释可以用来列出所有你明确用做全局变量的名字。JSLint可以用此信息区辨认拼写错误和被遗忘的var声明

	分号
		JSLint期望在除了for,function,if,switch,try和while之外的每个语句后面都跟着一个分号

	换行
		JSLint期望代码很长的语句只在下面这些标点符号或运算符之后换行
			, . ; : { } ( [ = < > ? ! + - * / % ~ ^ | & 
			== != <= >= += -= *= /= %= ^= |= &= << >> || &&
			=== !== <<= >>= >>> >>>=

	逗号
		逗号运算符可能导致过于复杂的表达式,也可能掩盖一些错误编程
		JSLint期望看到逗号被用作一个分隔符,而不是运算符

	必须的代码块
		JSLint期望if和for语句由代码块构成,即语句都由{}围起来

	被禁止的代码块
		JSLint期望只有function,if,switch,while,for,do和try语句使用代码块

	表达式语句
		表达式语句被期望是赋值、函数/方法调用或delete操作

	for in语句
		会遍历出所有原型链中继承的成员属性
		每个for in语句的主体都应该被包围在一个用于过滤的if语句中

	switch语句
		JSLint期望在下一个case或default语句之前有下面这些与剧中的一条:break,return或throw

	var语句
		JSLint期望的如下:
			一个var语句只会被声明一次,并且它会在使用前被声明
			函数会在使用前被声明
			参数不会用var再声明一次
		JSLint不期望如下:
			把arguments当做变量名用var语句声明
			在代码块中定义变量

	with语句
		JSLint不期望看到with语句

	=
		JSLint不期望在if或while语句的条件部分看到赋值语句

	==和!=
		==和!=u运算符在执行比较前会做强制类型转换,使用===和!==运算符始终是首选

	标签
		JSLint期望标签只用在会与break语句进行交互的下列语句中:switch、while、do和for
		JSLint期望标签有别于变量和参数

	不可达代码
		JSLint期望return、break、continue、或throw语句的后面会紧接一个}、case或default语句

	混乱的正负号
		JSLint期望+不会跟在+或++的后面,而-不会跟在-或--的后面,尽量使用圆括号
	
	++ 和 --
		它们只会让代码更糟糕

	位运算符
		它们很慢,而且很少用于浏览器应用程序

	eval是魔鬼
		eval函数及Function、setTimeout、setInterval能不用就不用

	void
		JSLint不期望看到void,它没什么用

	正则表达式
		JSLint会查找隐患
		JSLint期望出现在一个正则表达式之前的字符时(、=、:或,

	构造器函数和new运算符
		JSLint强制约定构造器函数的首字母必须大写,它不期望看到一个首字母不是大写的函数与new连用,也不期望看到一个首字母是大写的函数被单独使用
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值