当前位置: 首页 > news >正文

学校网站建设方案友情链接qq群

学校网站建设方案,友情链接qq群,包装设计公司排行,wordpress 本地 域名今天来聊聊bind 关于之前的call跟apply 查看此链接 我们要明确4点内容 1. bind之后返回一个函数 let obj {name : skr } function fn(){console.log(this) } let bindfn fn.bind(obj) console.log(typeof bindfn) // function 2.bind改变this 并且可以传参 bind之后的函数仍… 今天来聊聊bind 关于之前的call跟apply 查看此链接 我们要明确4点内容 1. bind之后返回一个函数 let obj {name : skr } function fn(){console.log(this) } let bindfn fn.bind(obj) console.log(typeof bindfn) // function 2.bind改变this 并且可以传参 bind之后的函数仍旧可以传参 let obj {name : skr } function fn(){console.log(arguments,this) } let bindfn fn.bind(obj,陈,孙,李)bindfn(张三李四) //[Arguments] { 0: 陈, 1: 孙, 2: 李, 3: 张三李四 }{ name: skr }3.bind之后的函数做为构造函数执行this是作为新的一个引用 let obj {name : skr } function fn(name){this.name name console.log(this) //{ name: 坤坤 }console.log(obj) //{ name: skr } } let bindfn fn.bind(obj)let obj2 new bindfn(坤坤) 4 作为构造函数时候 在原型上添加属性 实例能找到这个属性 let obj {name : skr } function fn(name){this.name name console.log(this) //{ name: 坤坤 }console.log(obj) //{ name: skr } } let bindfn fn.bind(obj)let obj2 new bindfn(坤坤) fn.prototype.arrt 小生 console.log(obj2.arrt) // 小生实现一个bind 遵循以上4点 bind之后返回一个函数Function.prototype.bind function(){return function(){// 代码省略} } bind改变this 并且可以传参 bind之后的函数仍旧可以传参Function.prototype.bind function(context){let _this this let args Array.prototype.slice.call(arguments,1) // 保存外部函数的参数return function(){return _this.apply(context,args.concat(Array.from(arguments))) // 链接内部函数参数} } let obj {name :1 } function a(){console.log(this,arguments) } a.bind(obj,1,2,3,4,5,6)(7,8,9) /* 打印结果 { name: 1 } [Arguments] {0: 1,1: 2,2: 3,3: 4,4: 5,5: 6,6: 7,7: 8,8: 9 } */ bind之后的函数做为构造函数执行this是作为新的一个引用Function.prototype.bind function(context){let _this this let args Array.prototype.slice.call(arguments,1) // 保存外部函数的参数let fn2 function(){return _this.apply(this instanceof fn2 ? this:context ,args.concat(Array.from(arguments))) // 看看是否是new 出来的 是new的话就不改变this } return fn2 } let obj {name :1 } function a(name){this.name name console.log(this) } let bindfn a.bind(obj) let obj2 new bindfn(2) // {name:2} console.log(obj) // {name:1}作为构造函数时候 在原型上添加属性 实例能找到这个属性Function.prototype.bind function(context){let _this this let args Array.prototype.slice.call(arguments,1) // 保存外部函数的参数function ConS(){}let fn2 function(){return _this.apply(this instanceof fn2 ? this:context ,args.concat(Array.from(arguments))) // 看看是否是new 出来的 是new的话就不改变this } console.log(this)ConS.prototype this.prototype // 通过第三方 new ConS().__proto__ this.prototype fn2.prototype new ConS() // new fn2().__proto__ new ConS() --- new fn2().__proto__.__proto__ this.prototype 从而拿到this实例上的原型属性和方法return fn2 } let obj {name :1 } function a(name){this.name name console.log(this) } let bindfn a.bind(obj) let obj2 new bindfn(2) // {name:2} console.log(obj2) // {name:1}大致上就是这样了
http://www.sadfv.cn/news/49696/

相关文章:

  • 闲鱼网站是哪家公司做的页面设计简称
  • 环保主题静态网站模板下载免费学编程的app
  • 做网站用的大图企业做网站的流程
  • 推广网站最有效方法国医堂网站平台建设
  • 小购物网站建设忠益网站建设
  • 合工大智能院网站建设广州企业网站建设电话
  • 做私单的网站网页设计与制作教程ps
  • 湘潭专业网站建设湘潭振企专业电子商务平台开发内容
  • 网站便民服务平台怎么做天津app制作
  • 域名可以做网站名吗网站关键词排名怎么做上去
  • 网站推广的方式有哪些?个人博客搭建
  • 建设银行信用卡网站多少网页浏览器哪个好用
  • 设计素材的网站qq怎么做放资源的网站
  • 凤岗做网站在线文字编辑器
  • 北京做网站建设多少钱南阳新闻最新消息
  • 江门网站制作设计建设音乐网站功能定位
  • 网站的后期维护工作一般做什么wordpress 中文图片无法显示
  • 天津专业网站制作流程优势花生壳做wordpress
  • 做腰椎核磁证网站是 收 七WordPress的cms模板
  • 怎么建网站详细步骤网站改版方案模板
  • 网站建设拾金手指下拉十九怎么做天猫内部券网站
  • 网站的建设方式seo培训中心
  • jquery网站开发上传文件生成链接下载
  • 新手做自己的网站教程宝应网站设计
  • 建筑网站制作移动网站建站视频教程
  • 专业建站源码企业内网 网站建设的解决方案
  • 网站前端 设计在马来西亚做网站网站合法吗
  • 山东省建设工程信息网站免费wordpress模板下载地址
  • 临清网站建设价格域名访问
  • 西安知名的集团门户网站建设服务商动漫设计本科