由此Prototype开发者搞了一个非常有名的函数出来,bind!以下是它的一个最简单的版本: varbind function(context, fn) {returnfunction() {returnfn.apply(context, arguments);}}运行代码不过为了面对更复杂的情况建议用以下版本。functionbind(context,fn) {varargs Array.prototype.slice.call(arguments, 2);returnargs.length 0 ?function() {returnfn.apply(context, arguments);} :function() {returnfn.apply(context, args.concat.apply(args, arguments));};};它还有一个孪生兄弟叫bindAsEventListener 绑定事件对象没什么好说的。varbindAsEventListener function(context, fn) {returnfunction(e) {returnfn.call(context, (e|| window.event));}}Prototype的版本Function.prototype.bind function() {if(arguments.length 2 (typeofarguments[0]undefined))returnthis;var_slice Array.prototype.slicevar__method this, args _slice.call(arguments,0), context args.shift();returnfunction() {return__method.apply(context, args.concat(_slice.call(arguments,0)));}}运行代码bind函数是如此有用google早早已把它加入到Function的原型中了此外还有inheritsmixin与partial。运行代码有绑定就有反绑定或者叫剥离更好例如原生对象的泛化方法我们是无法通过遍历取出它们的。for(variinArray){alert(i : Array[i])}for(variinArray.prototype){alert(i : Array.prototype[i])}运行代码要取出它们就需要这个东西var_slice Array.prototype.slice;functionunbind(fn) {//第一步取得泛化方法returnfunction(context) {//第二部用对应原生对象去重新调用returnfn.apply(context, _slice.call(arguments, 1));};};

相关新闻

最新新闻

大模型评测与AI产品质量保障:第21篇 传统基准测试实战(二):GSM8K、MATH 与 TruthfulQA

大模型评测与AI产品质量保障:第21篇 传统基准测试实战(二):GSM8K、MATH 与 TruthfulQA

IT策士 10余年一线大厂经验,专注大模型测试、AI产品质量保障与职场进阶。我会在各个平台持续发布最新文章,助你少走弯路。上一篇我们拆解了 MMLU 和 HellaSwag,一个测"知识储备",一个测"常识推理"。但大模型最…

2026/7/6 1:24:26
Playwright 项目脚手架与多项目管理

Playwright 项目脚手架与多项目管理

🧠 一、核心问题理解 在学习 Playwright 自动化过程中,经常会遇到两个问题: 1. npx playwright init 是什么? 2. 多个项目(网报A / CRM)怎么管理? 3. 是否需要复制脚手架?&#x1f6…

2026/7/6 1:24:26
数字图像处理 2.7 节:像素邻接与连通性辨析,4邻域/8邻域在OpenCV中的3种实现对比

数字图像处理 2.7 节:像素邻接与连通性辨析,4邻域/8邻域在OpenCV中的3种实现对比

像素邻接与连通性在OpenCV中的3种实现方法深度解析引言:为什么像素关系如此重要当我们第一次接触数字图像处理时,往往会被各种炫目的滤镜和特效吸引。但真正决定图像处理质量的基石,却是那些看似枯燥的基础概念——比如像素间的邻接关系和连通…

2026/7/6 1:24:26
Matlab【无人机图像】基于联合响应和背景学习实现无人机视觉跟踪附代码

Matlab【无人机图像】基于联合响应和背景学习实现无人机视觉跟踪附代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。🍎个人主页:Matlab科研工作室🍊个人信条:格物致知。更多Matlab完整代码及仿真定制内容点…

2026/7/6 1:24:26
从零掌握Locust性能测试:Python代码化压测与分布式实战

从零掌握Locust性能测试:Python代码化压测与分布式实战

1. 项目概述:为什么我们需要Locust这样的性能测试工具?在软件开发和运维的日常里,性能测试常常是一个“说起来重要,做起来麻烦”的环节。很多团队要么用着笨重的商业工具,要么自己写脚本模拟请求,前者成本高…

2026/7/6 1:24:26
智能车电磁杆设计:从AD原理图到PCB打样,3个关键调试步骤详解

智能车电磁杆设计:从AD原理图到PCB打样,3个关键调试步骤详解

智能车电磁杆设计:从AD原理图到PCB打样,3个关键调试步骤详解在智能车竞赛中,电磁循迹系统因其稳定性和抗干扰能力成为众多参赛队伍的首选方案。一套优秀的电磁杆设计不仅需要精准的电路设计,更需要从原理图到实际调试的全流程把控…

2026/7/6 1:19:26

月新闻