作家
登录

10个JavaScript难点

作者: 来源: 2017-07-27 16:55:03 阅读 我要评论

 
  • user.whatIsYourName(); // 输出"Rahul Mhatre"
  •  
  • var user2 = { 
  •     name"Neha Sampat" 
  • }; 
  •  
  • user.whatIsYourName.call(user2); // 输出"Neha Sampat"  
    • apply办法与call办法类似。两者独一的不合点在于,apply办法应用数组指定参数,而call办法每个参数零丁须要指定:
    • apply(thisArg, [argsArray]) 
    1. var user = { 
    2.     greet: "Hello!"
    3.     greetUser: function(userName) { 
    4.         console.log(this.greet + " " + userName); 
    5.     } 
    6. }; 
    7.  
    8. var greet1 = { 
    9.     greet: "Hola" 
    10. }; 
    11.  
    12. user.greetUser.call(greet1, "Rahul"); // 输出"Hola Rahul" 
    13. user.greetUser.apply(greet1, ["Rahul"]); // 输出"Hola Rahul"  

    应用bind办法,可认为函数绑定this值,然后作为一个新的函数返回:

    1. var user = { 
    2.      greet: "Hello!"
    3.      greetUser: function(userName) { 
    4.      console.log(this.greet + " " + userName); 
    5.      } 
    6. }; 
    7.  
    8. var greetHola = user.greetUser.bind({greet: "Hola"}); 
    9. var greetBonjour = user.greetUser.bind({greet: "Bonjour"}); 
    10.  
    11. greetHola("Rahul") // 输出"Hola Rahul" 
    12. greetBonjour("Rahul") // 输出"Bonjour Rahul"  

    9. Memoization

    Memoization用于优化比较耗时的计算,经由过程将计算结不雅缓存到内存中,如许对于同样的输入值,下次只须要中内存中攫取结不雅。

    1. function memoizeFunction(func) 
    2.     var cache = {}; 
    3.     return function() 
    4.     { 
    5.         var key = arguments[0]; 

        推荐阅读

        [PHP内核探索]PHP中的哈希表

      笔者github上有一个简略单纯版的HashTable的实现:HashTable实现 在PHP内毫闼楝个一一个很重要的数据构培养是HashTable。我们常用的数组,在内核中就是用HashTable来实现。那么,PHP的Hash>>>详细阅读


      本文标题:10个JavaScript难点

      地址:http://www.17bianji.com/lsqh/36438.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)