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

做电商网站哪里好蒲城网站建设wzjseo

做电商网站哪里好,蒲城网站建设wzjseo,陕西网站建设策划内容,注册公司费用及流程call, apply, 和 bind 方法都是通过改变函数的执行上下文#xff08;this#xff09;来实现改变 this 的。 1. call 方法 call 方法#xff1a;call 方法通过将函数作为对象的方法调用#xff0c;并传递一个新的上下文对象作为第一个参数来改变函数的执行上下文。函数内部可… call, apply, 和 bind 方法都是通过改变函数的执行上下文this来实现改变 this 的。 1. call 方法 call 方法call 方法通过将函数作为对象的方法调用并传递一个新的上下文对象作为第一个参数来改变函数的执行上下文。函数内部可以通过 this 引用该新的上下文对象。 实现示例 Function.prototype.call function(context, ...args) {context context || window; // 如果上下文对象未提供则默认为全局对象浏览器中为 windowconst key Symbol(fn); // 创建一个唯一的键以避免覆盖上下文对象中的现有属性context[key] this; // 将函数作为对象的方法添加到上下文对象中const result context[key](...args); // 调用函数delete context[key]; // 删除添加的方法属性return result; // 返回函数执行结果 };// 使用示例 const person {name: Alice,greet: function(message) {console.log(${message}, ${this.name}!);} };const otherPerson {name: Bob };person.greet.call(otherPerson, Hello); // 输出Hello, Bob!2. apply 方法 apply 方法apply 方法与 call 方法类似不同之处在于它接受一个参数数组而不是逐个列出参数。参数数组中的每个元素都会作为参数传递给函数。 实现示例 Function.prototype.apply function(context, args) {context context || window; // 如果上下文对象未提供则默认为全局对象浏览器中为 windowconst key Symbol(fn); // 创建一个唯一的键以避免覆盖上下文对象中的现有属性context[key] this; // 将函数作为对象的方法添加到上下文对象中const result context[key](...args); // 调用函数并将参数数组展开传递delete context[key]; // 删除添加的方法属性return result; // 返回函数执行结果 };// 使用示例 const person {name: Alice,greet: function(message) {console.log(${message}, ${this.name}!);} };const otherPerson {name: Bob };person.greet.apply(otherPerson, [Hello]); // 输出Hello, Bob!3. bind 方法 bind 方法bind 方法返回一个新函数并预先绑定了指定的执行上下文。新函数被调用时它的执行上下文将是预先绑定的上下文对象。 实现示例 Function.prototype.bind function(context, ...args) {const fn this; // 当前函数return function(...innerArgs) {return fn.call(context, ...args, ...innerArgs); // 调用原始函数并传递绑定的上下文和参数}; };// 使用示例 const person {name: Alice,greet: function(message) {console.log(${message}, ${this.name}!);} };const otherPerson {name: Bob };const greetBob person.greet.bind(otherPerson); greetBob(Hello); // 输出Hello, Bob!4. 区别 4.1 call 方法 call 方法允许你显式地调用一个函数并指定函数执行时的上下文this。除了第一个参数是要绑定的上下文对象之外它可以接受任意数量的参数作为要传递给函数的参数。 示例 const person {name: Alice,greet: function(message) {console.log(${message}, ${this.name}!);} };const otherPerson {name: Bob };person.greet.call(otherPerson, Hello); // 输出Hello, Bob!4.2 apply 方法 apply 方法与 call 方法类似但它接受一个参数数组而不是逐个列出参数。数组中的每个元素都会被作为参数传递给函数。 示例 const person {name: Alice,greet: function(message) {console.log(${message}, ${this.name}!);} };const otherPerson {name: Bob };person.greet.apply(otherPerson, [Hello]); // 输出Hello, Bob!4.3bind 方法 bind 方法不会立即调用函数而是返回一个新函数新函数的执行上下文this被绑定为指定的上下文对象。bind 方法可以预先绑定函数的上下文并返回一个新的函数以后可以在需要时调用。 示例 const person {name: Alice,greet: function(message) {console.log(${message}, ${this.name}!);} };const otherPerson {name: Bob };const greetBob person.greet.bind(otherPerson); greetBob(Hello); // 输出Hello, Bob!4.4 总结 call 和 apply 方法可以立即调用函数并指定执行上下文不同之处在于参数的传递方式。bind 方法返回一个新函数预先绑定了执行上下文并可以在需要时调用。call 和 apply 是直接调用函数而 bind 是创建一个新函数。call 和 apply 可以传递参数列表而 bind 只能传递执行上下文。
http://www.pierceye.com/news/818406/

相关文章:

  • 帮做网站的公司荥阳网站优化公司
  • 网页设计心得体会正文合肥网站推广优化公司
  • 邯郸菜鸟网站建设网站搭建费用价格表
  • 网站优化3个关键词和10个关键词的区别品牌推广方式有哪些
  • 建立网站需要多少钱一个二手站网站怎做
  • 瑞丽住建局网站科技新闻最新消息10条
  • 可以上传网站的免费空间网站注册都需要什么
  • wap网站开发重庆永川网站建设公司
  • 网站历史记录怎么恢复seo网站优化软件
  • 四川瑞通工程建设有限公司网站贵州省网站建设
  • 购买网站设计制作易龙天做的网站怎么样
  • 十大免费网站推广入口无锡网站建设首选捷搜
  • 网站搭建原理网页制作工程师
  • 中国工程建设交易信息网站邢台百度爱采购
  • 保定建设网站公司qq登陆 wordpress
  • 博客网站开发环境专业外贸网站建设公司价格
  • 响应式电商网站制作企业咨询诊断报告
  • 企业网站怎么建设公司展厅装修设计
  • 怎么联系网站管理员怎么做拍卖网站
  • 山东威海网站开发长沙新媒体运营公司
  • 社保网站做员工用工备案wordpress登录查看
  • 做网站公司名字应该用图片吗沃尔玛公司网站建设案例分析
  • 网站空间大小多少合适做关于车的网站
  • 专注咖啡相关的网站wordpress 访问缓慢
  • 自适应网站制作官网网站域名与建设
  • 淘宝网站开发成本武进建设局网站进不去
  • 比较好网站制作公司行业协会网站织梦模板
  • 牛人网络网站像wordpress一样的网站吗
  • 那种做任务的网站叫什么wordpress 数据库 旧Ip
  • 制作深圳网站建设百度推广广告收费标准