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

做动漫网站的小说市场营销公司排名

做动漫网站的小说,市场营销公司排名,宁波高端定制网站建设,做网站 空间还是服务器call 方法 核心特性 立即执行函数,并显式指定 this 值和逐个传递参数。语法:func.call(thisArg, arg1, arg2, …) 使用场景 借用其他对象的方法 const person { name: "Alice" }; function greet(greeting) {console.log(${greeting}, ${t…

call 方法

  • 核心特性
  • 立即执行函数,并显式指定 this 值和逐个传递参数。
  • 语法:func.call(thisArg, arg1, arg2, …)
  • 使用场景

借用其他对象的方法

const person = { name: "Alice" };
function greet(greeting) {console.log(`${greeting}, ${this.name}!`);
}
greet.call(person, "Hello"); // 输出 "Hello, Alice!"

处理类数组对象

function sum() {const args = Array.prototype.slice.call(arguments); // 转为真实数组return args.reduce((acc, val) => acc + val, 0);
}
sum(1, 2, 3); // 输出 6

. 链式调用构造函数(继承场景)

function Parent(name) {this.name = name;
}
function Child(name, age) {Parent.call(this, name); // 调用父类构造函数this.age = age;
}
const child = new Child("Bob", 10);

apply 方法

  • 核心特性
  • 立即执行函数,并显式指定 this 值和以数组形式传递参数。
  • 语法:func.apply(thisArg, [argsArray])
  • 使用场景
  • 动态参数传递
const numbers = [5, 1, 9, 3];
const max = Math.max.apply(null, numbers); // ES5 中求数组最大值
console.log(max); // 输出 9
// ES6+ 替代方案:Math.max(...numbers)
  • 合并数组
const arr1 = [1, 2];
const arr2 = [3, 4];
arr1.push.apply(arr1, arr2); // 合并数组(等同于 arr1.push(...arr2))
console.log(arr1); // 输出 [1, 2, 3, 4]
  • 函数参数转发
function wrapper() {const args = Array.prototype.slice.call(arguments);// 将参数数组转发给其他函数doSomething.apply(this, args);
}

bind 方法

  • 核心特性
  • 不立即执行函数,而是返回一个绑定 this 的新函数,参数可预先固定。
  • 语法:func.bind(thisArg, arg1, arg2, …)
  • 使用场景
  • 延迟执行固定this
const user = { name: "Charlie" };
function showName() {console.log(this.name);
}
const boundShowName = showName.bind(user);
setTimeout(boundShowName, 1000); // 1秒后输出 "Charlie"
  • 事件监听器绑定上下文
class Button {constructor() {this.text = "Click me";this.element = document.createElement("button");// 绑定 this,确保回调中的 this 指向实例this.element.addEventListener("click", this.handleClick.bind(this));}handleClick() {console.log(this.text); // 输出 "Click me"}
}
  • 函数柯里化(部分参数固定)
function multiply(a, b) {return a * b;
}
const double = multiply.bind(null, 2); // 固定第一个参数为 2
console.log(double(5)); // 输出 10 (即 2 * 5)

三者对比

方法执行时机参数形式典型场景ES6+ 替代方案
call立即执行参数列表明确参数、借用方法扩展运算符 …
apply立即执行数组动态参数、数组合并扩展运算符 …
导bind返回函数参数列表(可部分)延迟执行、事件绑定、柯里化箭头函数(固定 this)
http://www.dtcms.com/wzjs/390271.html

相关文章:

  • 怎么网站制作网站友情链接
  • 营销型网站建设案例每日鲜营销推广有哪些形式
  • 仿糗事百科网站源码dede二次开发分享+评论+互动搜索引擎的使用方法和技巧
  • 四川省建设厅网站川北医学院百度搜索收录
  • 网站能需要怎么做才不会被攻击互联网广告推广
  • 西安流调轨迹公布重庆seo
  • 内网是怎么做网站的seo翻译
  • 高频网站开发公司网站推广方案
  • css代码网站2级列表怎么做网络营销的三种方式
  • 联合智慧旅游建设旅游门户网站谷歌广告投放教程
  • 医院管理系统网站模板凯里seo排名优化
  • windows2008web做网站百度资讯
  • 无锡网站制作.成都短视频代运营
  • 网站首页设计大赛官网建站多少钱
  • 成品网站 代理seo怎么才能做好
  • 做网站设计制作公司百度推广年费多少钱
  • 温州专业微网站制作网站专业术语中seo意思是
  • ueeshop和wordpress优化关键词排名seo软件
  • 邯郸网站设计培训班佛山seo
  • 重庆做网站及公众号公司推广产品引流的最佳方法
  • 深圳装修设计生产厂家整站优化关键词排名
  • 建网站要会什么全专业优化公司
  • 做平面有什么好的网站新网
  • 网站建设与维护是做什么电商平台营销策划方案
  • 网站开发的背景和意义免费发帖推广平台有哪些
  • 谁教我做啊谁会做网站啊网络营销和推广的方法
  • 大亚湾做网站公司google官方下载app
  • 做网站先做母版页百度一下首页设为主页
  • 绵阳市城市建设档案馆网站app推广公司
  • 绵阳做seo网站公司网上有卖网站链接的吗