Wednesday, February 20, 2008

Javascript function results caching

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>javascript function results caching</title>
<script type="text/javascript">
var overrideSelf = function () {
return overrideSelf = 'test';
};
alert(overrideSelf);
alert(overrideSelf());
// alert(overrideSelf()); // overrideSelf is not a function
alert(overrideSelf);

var fnl = function () {
var v = 'xxx';
alert('alert from fnl');
return (fnl = function () {
return v;
})();
};
alert(fnl());
alert(fnl());
alert(fnl());

var fnp = function () {
if(!fnp.b) {
fnp.v = 'yyy';
alert('alert from fnp');
fnp.b = true;
}
return fnp.v;
};
alert(fnp());
alert(fnp());
alert(fnp());

var fnm = (function () {
var v, b = false;
return function () {
if (!b) {
v = 'zzz';
alert('alert from fnm');
b = true;
}
return v
}
})();
alert(fnm());
alert(fnm());
alert(fnm());
</script>
</head>

<body>
test function results caching
</body>
</html>
references:
http://developer.yahoo.net/blogs/theater/archives/2007/12/high_performance_ajax_applications.html

No comments :