- apply办法与call办法类似。两者独一的不合点在于,apply办法应用数组指定参数,而call办法每个参数零丁须要指定:
- apply(thisArg, [argsArray])
- var user = {
- greet: "Hello!",
- greetUser: function(userName) {
- console.log(this.greet + " " + userName);
- }
- };
- var greet1 = {
- greet: "Hola"
- };
- user.greetUser.call(greet1, "Rahul"); // 输出"Hola Rahul"
- user.greetUser.apply(greet1, ["Rahul"]); // 输出"Hola Rahul"
应用bind办法,可认为函数绑定this值,然后作为一个新的函数返回:
- var user = {
- greet: "Hello!",
- greetUser: function(userName) {
- console.log(this.greet + " " + userName);
- }
- };
- var greetHola = user.greetUser.bind({greet: "Hola"});
- var greetBonjour = user.greetUser.bind({greet: "Bonjour"});
- greetHola("Rahul") // 输出"Hola Rahul"
- greetBonjour("Rahul") // 输出"Bonjour Rahul"
9. Memoization
Memoization用于优化比较耗时的计算,经由过程将计算结不雅缓存到内存中,如许对于同样的输入值,下次只须要中内存中攫取结不雅。
- function memoizeFunction(func)
- {
- var cache = {};
- return function()
- {
- var key = arguments[0];
推荐阅读
笔者github上有一个简略单纯版的HashTable的实现:HashTable实现 在PHP内毫闼楝个一一个很重要的数据构培养是HashTable。我们常用的数组,在内核中就是用HashTable来实现。那么,PHP的Hash>>>详细阅读
本文标题:10个JavaScript难点
地址:http://www.17bianji.com/lsqh/36438.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示