其他三个写的也挺好的,不过html和css我已经参照了其他的。
防污染与IIFE
(function($, w, d){
'use strict';
$(function() {
w.alert(d.querySelectorAll('div').length);
});
}(jQuery, window, document));
总是使用
var
来声明变量
所有的变量以及方法,应当定义在 function 内的首行。只用一个 var 关键字声明,多个变量用逗号隔开。
把赋值尽量写在变量申明中。
总是使用 === 精确的比较操作符
真假判断
false:false, 0, undefined, null, NaN, ''
true: true, 1, {}, [], '0'
逻辑操作符 || 和 && 也可被用来返回布尔值
(function(log){
'use strict';
function multiply(a, b) {
//给变量赋值
a = a || 1;
b = b || 1;
log('Result ' + a * b);
}
multiply(); // Result 1
multiply(10); // Result 10
multiply(3, NaN); // Result 3
multiply(9, 5); // Result 45
}(window.console.log));
总是使用分号
分号需要用在表达式的结尾,而并非函数声明的结尾
var foo = function() {
return true;
}; // semicolon here.
function foo() {
return true;
} // no semicolon here.
不能在语句块内的函数声明
// 不推荐
if (x) {
function foo() {}
}
// 推荐
if (x) {
var foo = function() {};
}
如何自定义异常?
抛出对象
if(name === undefined) {
throw {
name: 'System Error',
message: 'A name should always be specified!'
}
}
闭包有什么用?关于闭包如何工作的合理解释。
不在循环中创建函数或闭包
只在构造函数和对象的方法中 使用this
不要使用switch
用数组和对象字面量
禁止修改内建对象的原型链
圆括号,不要用在一元操作符上,例如 delete, typeof 和 void,或在关键字之后,例如 return, throw, case, new 等。
字符串统一使用单引号(‘)
js语言精粹
缩进2个空格
if和 ( 之间放一个空格
函数调用时,才使 ( 和前面的符号相连
除了 . 和 [ 的所有中置运算符两边都放空格
每个逗号和冒号后都使用一个空格
每行最多放一个语句
如果一行放不下,会在一个冒号或二元运算符后拆开它
以行注释为主;块注释用于正式的文档记录和注释。
把 { 放在一行的结尾,而不是下一行的开头