JavaScript Simple Optimizations
Javascript Simple Optimizations
1,总是使用var 声明 变量。
2,特性检测而非浏览器检测。
一些代码是写来发现浏览器版本并基于用户正使用的客户端的对其执行不同行为。这个,总的来说,是一个非常糟的实践。更好的方法是使用特性检测,在使 用一个老浏览器可能不支持的高级的特性之前,首先检测(浏览器的)是否有这个功能或特性,然后使用它。这单独检测浏览器版本来得更好,即使你知道它的性 能。你可以在 http://www.jibbering.com/faq/faq_notes/not_browser_detect.html找到一个深入讨论这个问题的文章。
例子:
3,使用方括号记法。
“[ ]“方括号记法
使用”.”号,属性名是硬代码,不能在执行时改变。使用”[ ]“方括号,属性名是一个通过计算属性名而来的字符串。字符串要以是硬代码,也可能是变量,甚至可以是一个调回一个字母串值的函数。 如果一个属性名在执行产生,方括号是必须,如果你有 “value1″, “value2″, 和 “value3″这样的属性,并且想利用变量 i=2来访问
Javascript Simple Optimizations
?
//Javascript Simple Optimizations
var varName = "" → var a = ""
object["property"] → object.prototype
{"key":"var1"} → {key:"var1"}
'xi\'an' → "xi'an"
"I am " + "hot" → "I am hot"
a = new Object → a = {}
a = new Array → a = []
if(a) b() → a && b()
if(a) b(); else c() → a ? b() :c()
if(1) b(); else c() → b()
return 2 * 3; → return 6;
return undefined; → return;
var f = function(){}→ function f(){}
var a; var b; → var a,b;
var varName = "" → var a = ""
object["property"] → object.prototype
{"key":"var1"} → {key:"var1"}
'xi\'an' → "xi'an"
"I am " + "hot" → "I am hot"
a = new Object → a = {}
a = new Array → a = []
if(a) b() → a && b()
if(a) b(); else c() → a ? b() :c()
if(1) b(); else c() → b()
return 2 * 3; → return 6;
return undefined; → return;
var f = function(){}→ function f(){}
var a; var b; → var a,b;
1,总是使用var 声明 变量。
2,特性检测而非浏览器检测。
一些代码是写来发现浏览器版本并基于用户正使用的客户端的对其执行不同行为。这个,总的来说,是一个非常糟的实践。更好的方法是使用特性检测,在使 用一个老浏览器可能不支持的高级的特性之前,首先检测(浏览器的)是否有这个功能或特性,然后使用它。这单独检测浏览器版本来得更好,即使你知道它的性 能。你可以在 http://www.jibbering.com/faq/faq_notes/not_browser_detect.html找到一个深入讨论这个问题的文章。
例子:
element
if (document.getElementById) {
var element = document.getElementById('MyId');
}
else {
alert('Your browser lacks the capabilities required to run this script!');
}
var element = document.getElementById('MyId');
}
else {
alert('Your browser lacks the capabilities required to run this script!');
}
3,使用方括号记法。
当访问由执行时决定或者包括要不能用”.”号访问的对象属性,使用方括号记法。如果你不是一个经验丰富的Javascript程序员,总是使用方括号是一个不错的做法对象的属性由两种固定的方法来访问:”.”记法和”[ ]“方括号记法:
“.”号记法
js
MyObject.property
“[ ]“方括号记法
js
MyObject["property"]
使用”.”号,属性名是硬代码,不能在执行时改变。使用”[ ]“方括号,属性名是一个通过计算属性名而来的字符串。字符串要以是硬代码,也可能是变量,甚至可以是一个调回一个字母串值的函数。 如果一个属性名在执行产生,方括号是必须,如果你有 “value1″, “value2″, 和 “value3″这样的属性,并且想利用变量 i=2来访问