zoukankan      html  css  js  c++  java
  • 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] );
  • 相关阅读:
    自动称重系统-3
    自动称重系统-2
    自动称重系统-1
    Qt-序列号生成器
    征战 OSG-序及目录
    Qt-QML-安卓编译问题
    OSG-OSG中的observer_ptr指针
    HZNU Training 22 for Zhejiang Provincial Competition 2020
    树上乱搞
    HZNU Training 21 for Zhejiang Provincial Competition 2020
  • 原文地址:https://www.cnblogs.com/winderby/p/4063409.html
Copyright © 2011-2022 走看看