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


    代码信息来自于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] );
  • 相关阅读:
    示例页面
    HDU2149Public Sale(Bash 博弈)
    留言板
    HDU2188Bash博弈
    win7系统激活工具
    HDU1849Rabbit and Grass(Nimm博弈)
    HDU1846Brave Game(巴什博弈)
    drools原生drl规则文件的使用
    Vue element table动态生成列
    eltable动态生成列重点
  • 原文地址:https://www.cnblogs.com/winderby/p/4063409.html
Copyright © 2020-2023  润新知