- 语句必须都有分号结尾,除了for, function, if, switch, try, while。
...
- 如果仅依靠语句间的隐式分隔, 有时会很麻烦,你自己更能清楚哪里是语句的起止。而且有些情况下, 漏掉分号会很危险:
...
eval() 会让程序执行的比较混乱, 当 eval() 里面包含用户输入的话就更加危险. 可以用其他更佳的, 更清晰, 更安全的方式写你的代码, 所以一般情况下请不要使用 eval(). 当碰到一些需要解析序列化串的情况下(如, 计算 RPC 响应), 使用 eval 很容易实现。
使用 with 让你的代码在语义上变得不清晰. 因为 with 的对象, 可能会与局部变量产生冲突, 从而改变你程序原本的用义。
...
对 Array 用 for-in 循环有时会出错. 因为它并不是从 0 到 length - 1 进行遍历, 而是所有出现在对象及其原型链的键值. 下面就是一些失败的使用案例:
| Code Block |
|---|
|
FS = {};
FR = {};
contentPane = {}; |
| Code Block |
|---|
|
window.FS = {};
window.FR= {};
window.contentPane = {}; |
...
错误:
FR.ajax()函数会对data自动进行编码,避免了参数编码错误
...
| Code Block |
|---|
|
FR.ajax({
url : "http://www.baidu.com",
data: {"keywords": "中文"},
success : function() {
// do something
}
}); |
以下划线标记私有方法增加代码的可读性。
| Code Block |
|---|
|
FR.Button = FR.extend(FR.Widget, {
defaultConfig: function () {
return {cls : 'fr-btn'};
}
}; |
| Code Block |
|---|
|
FR.Button = FR.extend(FR.Widget, {
_defaultConfig: function () {
return {cls : 'fr-btn'};
}
}; |
前者的函数存在浏览器兼容问题,低版本的IE是不支持的。
...