这个比较简短。如果你在 JavaScript 中 (像其它的编程语言中那样)使用 == 来比较 a 和 b,可能会发现其运行的方式有点怪: 如果你有一个字符串和一个数字如下,它们会相等 (==):
"42" == 42 // → true对于一些明显的缘故 (例如验证操作), 最好就是使用严格等于(===):
"42" === 42 // → false 4. 使用 && 和 || 来制造点小把戏根你需要做的事情,你可以使用逻辑操作符来让代码更简短。
取默认值 "" || "foo" // → "foo" undefined || 42 // → 42 // Note that if you want to handle 0 there, you need // to check if a number was provided: var a = 0; a || 42 // → 42 // This is a ternary operator—works like an inline if-else statement var b = typeof a === "number" ? a : 42; // → 0不用拿 if 表达式来检查某些东西是不是为真的,你也可以简单地这样做:
expr && doSomething(); // Instead of: if (expr) { doSomething(); }如果你需要通过 doSomething(): 来决定返回的结果,这样做更酷:
function doSomething () { return { foo: "bar" }; } var expr = true; var res = expr && doSomething(); res && console.log(res); // → { foo: "bar" }你可能不会赞同我在这方面的看法,但像我说的这样做其实效果更理想。如果你并不想像这样来对你的代码进行混淆,但其实这就是那些 JavaScript 简化器实际会做的事情。
如果你来问我,我会说这样做虽然让代码更加简短了,但仍然是可读的。
5. 对值的类型进行转化有几种方法可以根据你的想法来进行转化。最常用的方式有如下这些:
// From anything to a number var foo = "42"; var myNumber = +foo; // shortcut for Number(foo) // → 42 // Tip: you can convert it directly into a negative number var negativeFoo = -foo; // or -Number(foo) // → -42 // From object to array // Tip: `arguments` is an object and in general you want to use it as array var args = { 0: "foo", 1: "bar", length: 2 }; Array.prototype.slice.call(args) // → [ 'foo', 'bar' ] // Anything to boolean /// Non non p is a boolean p var t = 1; var f = 0; !!t // → true !!f // → false /// And non-p is a boolean non-p !t // → false !f // → true // Anything to string var foo = 42; "" + foo // shortcut for String(foo) // → "42" foo = { hello: "world" }; JSON.stringify(foo); // → '{ "hello":"world" }' JSON.stringify(foo, null, 4); // beautify the things // → // '{ // "hello": "world" // }' // Note you cannot JSON.stringify circular structures JSON.stringify(window); // ⚠ TypeError: JSON.stringify cannot serialize cyclic structures. 6. 代码风格/风格指南在新的项目中要让所有的文件都遵循相同的代码风格。对于现有的项目,就使用现有的代码风格, 除非你就只是决定要变一变它的风格(提示: 同你的搭档就此进行一下讨论)。甚至你要创建和记录你自己的代码风格,然后一直去遵循它。
现有的一些不同的代码风格如下:
额外的福利小提示:你应该记住的其它一些重要的 JavaScript 最佳实践就是那些能帮助你对代码进行格式化的工具。下面是其中的一些:
最后一个就是: 不要总是 console.log,要对你的代码进行调试。
祝你编程愉快!
原文地址: