码迷,mamicode.com
首页 > 编程语言 > 详细

javascript高级知识分析——作为对象的函数

时间:2014-10-30 20:35:00      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   ar   java   for   sp   

代码信息来自于http://ejohn.org/apps/learn/。

函数和对象是不是非常相似?

var obj = {}; 
var fn = function(){}; 
console.log( obj && fn );//true
var obj = {}; 
var fn = function(){}; 
obj.prop = "some value"; 
fn.prop = "some value"; 
console.log( obj.prop == fn.prop, "都是对象,都有属性." );

可不可以把返回的结果存储到缓存里?

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 = {}; 
 
console.log( "返回的结果: ",  getElements("pre")); ///HTMLCollection [ <pre> ]
console.log( "返回和缓存完全相同", getElements("pre") === getElements.cache.pre);  //true

当我们访问的通过一系列操作获取到的内容,通过缓存先前的结果,可以提高性能。

题目:修改这段代码,使之可以缓存结果

function isPrime( num ) { 
  var prime = num != 1;
  for ( var i = 2; i < num; i++ ) { 
    if ( num % i == 0 ) { 
      prime = false; 
      break; 
    } 
  } 
  return prime; 
} 

console.log( isPrime(5)); 
console.log( isPrime.cache[5] );

 

javascript高级知识分析——作为对象的函数

标签:style   blog   http   io   color   ar   java   for   sp   

原文地址:http://www.cnblogs.com/winderby/p/4063409.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!