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的作用 其实 ...
随机推荐
- luoguP3181 [HAOI2016]找相同字符
题意 考虑将\(s1\)和\(s2\)接在一起求出相同子串个数,再求出\(s1\)自己匹配的相同子串个数和\(s2\)自己匹配的相同子串个数减去即可. 如何求相同子串个数: 我们知道子串的集合即所有后 ...
- eclipse git pull 代码 failed 并且报DIRTY_WORKTREE.classpath
用eclipse git pull代码的时候出现如题错误. 解决办法就是reset reset命令有3种方式: 1.git reset –mixed:此为默认方式,不带任何参数的git reset,即 ...
- hibernate中flush()、refresh()、clear()缓存操作
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ flush():使数据库中的对象和session缓存中的对象的状态 ...
- CompletableService
public class CompletableServiceTest { public static void main(String[] args) throws ExecutionExcepti ...
- Kubernetes 动态PV使用
Kubernetes 动态PV使用 Kubernetes支持动态供给的存储插件:https://kubernetes.io/docs/concepts/storage/storage-classes/ ...
- C# if else-if 语句
一.作用 用来处理多条件的区间性的判断. 二.语法 if(判断条件) { 要执行的代码; } else if(判断条件) { 要执行的代码; } else if(判断条件) { 要执行的代码; } e ...
- Winform中设置ZedGraph因设置小刻度导致的竖直虚线显示过多
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- 如何通过调优攻破 MySQL 数据库性能瓶颈?
一.前言 MySQL调优对于很多程序员而言,都是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰.在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优 ...
- JS读取xml
xml文件 <?xml version="1.0" encoding="utf-8"?> <root> <data id=&quo ...
- 纯C语言实现链栈
#include <stdio.h> #include <stdlib.h> typedef int ElemType; typedef struct StackNode{ E ...