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

安居客做网站北京seo执行

安居客做网站,北京seo执行,wordpress主题 路径,怎么做网站的外链文章目录 一、bind() 方法1、概述2、核心特性2.1、永久 this 绑定2.2、参数预设2.3、构造函数兼容性 3、工作原理4、常见问题 一、bind() 方法 1、概述 bind() 是 JavaScript 函数对象的一个内置方法,它创建一个新的函数(称为"绑定函数"&…

文章目录

  • 一、`bind()` 方法
    • 1、概述
    • 2、核心特性
      • 2.1、永久 `this` 绑定
      • 2.2、参数预设
      • 2.3、构造函数兼容性
    • 3、工作原理
    • 4、常见问题

一、bind() 方法

1、概述

bind() 是 JavaScript 函数对象的一个内置方法,它创建一个新的函数(称为"绑定函数"),这个新函数的 this 值会被永久绑定到指定的对象。与 call()apply() 不同,bind() 不会立即执行函数,而是返回一个准备就绪的新函数。基本语法,如下:

const boundFunc = originalFunc.bind(thisArg[, arg1[, arg2[, ...]]])

2、核心特性

2.1、永久 this 绑定

bind() 创建的绑定函数会永久锁定 this 值,即使使用 call()apply() 也无法改变:

const obj = { value: 42 };
function getValue() { return this.value; }const boundGetValue = getValue.bind(obj);
console.log(boundGetValue()); // 42
console.log(boundGetValue.call({ value: 100 })); // 仍然是 42

2.2、参数预设

bind() 可以预先设置函数的部分参数:

function greet(greeting, name) {console.log(`${greeting}, ${name}!`);
}// 预设第一个参数
const sayHello = greet.bind(null, "Hello");
sayHello("Alice"); // 输出: "Hello, Alice!"// 预设多个参数
const sayHiToBob = greet.bind(null, "Hi", "Bob");
sayHiToBob(); // 输出: "Hi, Bob!"

2.3、构造函数兼容性

当绑定函数被用作构造函数时(使用 new 调用),原始 this 绑定会被忽略:

function Person(name) {this.name = name;
}const BoundPerson = Person.bind({ x: 1 });
const p = new BoundPerson('Alice');
console.log(p.name); // "Alice" (不是 {x:1})

3、工作原理

JavaScript 引擎处理 bind() 时大致执行以下步骤:

  1. 创建一个新函数对象
  2. 将原函数的代码复制到新函数
  3. 设置新函数的内部 [[BoundThis]] 属性为指定的 thisArg
  4. bind() 的其他参数存储为 [[BoundArgs]]
  5. 返回这个新函数

当调用绑定函数时:

  1. 创建一个新的执行上下文
  2. this 设置为 [[BoundThis]] 的值
  3. [[BoundArgs]] 和调用时传入的参数合并
  4. 执行原函数的代码

4、常见问题

问题1:为什么箭头函数不需要 bind

箭头函数没有自己的 this,它会捕获所在上下文的 this 值,且无法通过 bind 改变。

问题2:bind()call()/apply() 的主要区别是什么?

bind() 返回一个新函数而不立即执行,且 this 绑定是永久的;call()/apply() 立即执行函数且只影响当前调用。

问题3:能否对同一个函数多次 bind

可以,但只有第一次 bind 有效,后续 bind 无法覆盖已绑定的 this 值。

http://www.dtcms.com/wzjs/505468.html

相关文章:

  • 沈阳做网站公司网络平台推广
  • 做一视频网站网络营销专业介绍
  • 高端定制网站开发网站模板设计百度售后电话人工服务
  • 论文网站的负载测试是如何做的百度手机网页
  • 360建筑网电脑版seo是什么级别
  • 国外做医疗器械b2b网站网络推广方法怎么做
  • wordpress修改媒体的路径免费网站seo优化
  • 上海网站推广 优帮云东莞seo建站推广费用
  • 成都网站建设与开发网络seo是什么工作
  • 手机网站制作 费怎么做分录杭州seo服务公司
  • 石家庄网站定制制作江门seo外包公司
  • 深圳微商城网站制作多少钱打开百度网页版
  • 网站建设先做后网络推广优化seo
  • 济南互联网运营公司网络优化工程师工作内容
  • 什么是h5网站代运营公司可靠吗
  • 员工入职 在哪个网站做招工郑州网站seo推广
  • 最近免费视频中文2019完整版网络seo外包
  • 高端的网站设计多少钱google推广方式和手段有哪些
  • php做网站很快嘛商业软文案例
  • 网站模板代码什么软件可以弄排名
  • 荆州房地产网站建设脚本外链平台
  • 云南住房和城乡建设委员会网站流程优化
  • 企业官网网站建设在线培训app
  • 2018网站内容和备案seo网站有优化培训班吗
  • 网站修改关键字谷歌关键词排名查询
  • 电商型企业网站建设无锡seo
  • 巨鹿网站制作正规的教育培训机构有哪些
  • 中国建设资格注册中心网站网站内容优化怎么去优化呢
  • 怎么做独立网站直播营销的优势有哪些
  • 郑州网站建设贝壳网电脑版百度入口