var completeObj = {a: { b: { c: { d: { e: { f: 23 } } } } } };
var funcA = function(obj){
var a = 'a',b='b',c='c',d='d',e='e',f='f';
return obj[a][b][c][d][e][f];
}
var funcB = function(obj){
return obj['a']['b']['c']['d']['e']['f'];
}
FuncA的比funcB慢得多,尋找範圍varible花費這麼多的時間? 測試網址:http://jsperf.com/static-and-dynamic-argument THX爲什麼JavaScript中的變量要慢得多?
因爲代碼做得更多?編譯器不是巧妙的,以實現實現來檢查這些變量是常量,並可以內聯。 – Bergi