【发布时间】:2011-03-17 01:38:48
【问题描述】:
我对 John Resig 在http://ejohn.org/apps/learn/#19 中的练习 #19 中的这个函数有一些疑问
倒数第二行
getElements.cache = {};的用途是什么,它是否将return results存储在一个数组中?如果我在 (1) 中的猜测是正确的,它是否只捕获
return results,因为在函数的“else”部分,getElements.cache[name] = results;?当我在教程中使用控制台中的代码时,我从“else”部分中删除了行
getElements.cache[name] = results,但仍然得到了相同的结果,就像它在那里时一样——也就是说,它告诉我有76个元素。因此,如果不需要得到结果,这行getElements.cache[name] = results的目的是什么?在函数的“else”部分中,
getElements.cache[name] = results;行的顺序与代码的if部分相反,它显示@987654330 @最后,
cache是 JavaScript 中的预定义函数吗?我在文档中找不到它。
function getElements( name ) {
var results;
if ( getElements.cache[name] ) {
results = getElements.cache[name];
} else {
results = document.getElementsByTagName(name);
getElements.cache[name] = results;
}
return results;
}
getElements.cache = {};
log( "Elements found: ", getElements("pre").length );
【问题讨论】:
标签: javascript