bind 仿造 重写bind
简单版,不带参数
Function.prototype.my_bind = function(targ){
  var _this = this;
  return function(){
    _this.apply(targ)
  }
}
function f() {
  console.log(`${this.name}`);
}
var o = {
  name: 'liu'
};
f.my_bind(o)();
带参数
Function.prototype.my_bind = function(){
  var _this = this;
  var targ = Array.prototype.shift.call(arguments)
  var arg = Array.prototype.slice.call(arguments)
  return function(){
    _this.apply(targ, Array.prototype.concat.apply(arg, arguments))
  }
}
function f(a,b,c) {
  console.log(`${this.name} ${a} ${b} ${c}`);
}
var o = {
  name: 'liu'
};
f.my_bind(o, 1, 2)(3);
bind 仿造 重写bind的更多相关文章
- 背水一战 Windows 10 (21) - 绑定: x:Bind 绑定, x:Bind 绑定之 x:Phase, 使用绑定过程中的一些技巧
		
[源码下载] 背水一战 Windows 10 (21) - 绑定: x:Bind 绑定, x:Bind 绑定之 x:Phase, 使用绑定过程中的一些技巧 作者:webabcd 介绍背水一战 Wind ...
 - 绑定: x:Bind 绑定, x:Bind 绑定之 x:Phase, 使用绑定过程中的一些技巧
		
背水一战 Windows 10 之 绑定 x:Bind 绑定 x:Bind 绑定之 x:Phase 使用绑定过程中的一些技巧 示例1.演示 x:Bind 绑定的相关知识点Bind/BindDemo.x ...
 - jquery hover(overListener, outListener) || bind('mouseover',methodA).bind('mouseout',methodB)
		
1.区别: bind方式,进入外部区域和内部区域都会触发相关方法(methodA 或methodB): hover方式,进入内部区域不会再触发相关方法. 2.example: <body> ...
 - 【java】Naming.bind和Registry.bind区别
		
Naming类和Registry类均在java.rmi包 Naming类通过解析URI绑定远程对象,将URI拆分成主机.端口和远程对象名称,使用的仍是Registry类. public static ...
 - javascript中apply,call,bind区别,bind兼容等问题总结
		
1 三者的相似之处: (1).都是用来改变函数的this对象的指向的 (2).都是用第一个参数来做this对象的指向 (3).都可以传参数进去 那么,具体到它们有什么区别呢?请看下面的例子: 两个对象 ...
 - bind (ERROR 502): bind(0.0.0.0:9501) failed. Error: Address already in use [98] (端口被占用)
		
运行 swoole_server 服务报错显示端口被占用 解决思路: 1.用命令查看该端口 看是否存在 netstat -anp | grep 9501 2.如果存在 就用 kill对应端口号 ...
 - JS笔试汇总
		
//console.log(a[b]); var a={}; var b={key:'b'}; var c={key:'c'}; a[b] = 456; a[c] = 123; console.log ...
 - js的bind方法
		
转载:http://www.jb51.net/article/94451.htm http://www.cnblogs.com/TiestoRay/p/3360378.html https://seg ...
 - 一起Polyfill系列:Function.prototype.bind的四个阶段
		
昨天边参考es5-shim边自己实现Function.prototype.bind,发现有不少以前忽视了的地方,这里就作为一个小总结吧. 一.Function.prototype.bind的作用 其实 ...
 
随机推荐
- html行级元素与块级元素以及meta标签的使用
			
块级元素的特性: 永远都会占满父级元素的宽度(块级元素的宽度永远都等于它父级元素的宽度) 行级元素的特性: 所占的空间刚好等于内容的大小 常见的块级元素: h1~h6.p.ul.div.li.form ...
 - 【PL/SQL】设置F8自动运行
 - 2019 SDN上机第六次作业
			
1.实验拓扑 (1)实验拓扑 (2)使用python脚本完成拓扑搭建 from mininet.topo import Topo class Mytopo(Topo): def __init__(se ...
 - springcloud源码分析(一)之采用redis实现注册中心
			
注册中心 在分布式架构中注册中心起到了管理各种服务功能包括服务的注册.发现.熔断.负载.降级等功能,在分布式架构中起到了不可替代的作用.常见的注册中心有eureka,zookeeper等等,在spri ...
 - C#.Net 使用 JsonReader/JsonWriter 高性能解析/生成 Json 文档
			
Swifter.Json 是由本人编写的高性能且多功能的 Json 解析库.下图是 Swifter.Json 与 .Net 平台上的其他 Json 库性能对比: 在 Swifter.Json 近期更新 ...
 - Loj #2568. 「APIO2016」烟花表演
			
Loj #2568. 「APIO2016」烟花表演 题目描述 烟花表演是最引人注目的节日活动之一.在表演中,所有的烟花必须同时爆炸.为了确保安全,烟花被安置在远离开关的位置上,通过一些导火索与开关相连 ...
 - 构建Shiny应用
			
构建Shiny应用 1.什么是Shiny? Shiny是一个R的应用包,帮助用户构建可交互的web应用.它可以结合HTML和CSS代码,以及R 语言的运算能力. 2.下载R Shiny 下载R包 in ...
 - MongoDB官方下载安装设置配置文件指定端口号
			
1.)下载 官网(https://www.mongodb.com/)右上角try free 进入下载中心,下载指定版本 ZIP和MSI随便 如果浏览器下载的慢,可以直接使用下载地址,然后迅雷下 操作 ...
 - 在进行机器学习建模时,为什么需要验证集(validation set)?
			
在进行机器学习建模时,为什么需要评估集(validation set)? 笔者最近有一篇文章被拒了,其中有一位审稿人提到论文中的一个问题:”应该在验证集上面调整参数,而不是在测试集“.笔者有些不明白为 ...
 - 解决 Windows Server 2008 R2 上 Windows Update 无法失败,提示 8024402F
			
1.同步服务器时间 2.打开 services.msc,停止 Windows Update Service 3.手动下载 KB3138615 补丁:https://support.microsoft. ...