zoukankan      html  css  js  c++  java
  • 使用 js 简单的实现 bind、call 、aplly

    		Function.prototype._call = function(obj,...arg){
    			var me = this;
    			var k  = Symbol("test"); //生成唯一的 key
    			obj[k] = me;
    			var result = obj[k](...arg);
    			delete obj[k];
    			return result;
    		}
    		
    		Function.prototype._apply = function(obj,arg){
    			var me = this;
    			var k  = Symbol("test"); //生成唯一的 key
    			obj[k] = me;
    			var result = obj[k](...arg);
    			delete obj[k];
    			return result;
    		}
    		Function.prototype._bind = function(obj,...arg){
    			var me = this;
    			return function(...args){
    				var param = [...arg,...args];
    				return me._apply(obj,param);
    			}
    		}
    		
    
    		
    		var o1 = {
    			info:"o1",
    			print(){
    				console.log(arguments)
    				console.log(this.info)
    			}
    		}
    		var o2 = {
    			info:"o2",
    			print(){
    				console.log(arguments)
    				console.log(this.info)
    			}
    		}
    		var o3 = {
    			info:"o3",
    			print(){
    				console.log(arguments)
    				console.log(this.info)
    			}
    		}
    		
    		o1.print._bind(o3,11)(44,66);
    

      

  • 相关阅读:
    3-2
    3-1
    2-11
    2-10
    2-7
    2-9
    springboot 使用undertow代替tomcat容器提高吞吐量
    springboot—JVM性能参数调优
    springbootDay3
    springboot_Mybaits_PageHelper
  • 原文地址:https://www.cnblogs.com/muamaker/p/10874043.html
Copyright © 2011-2022 走看看