当前位置: 首页 > 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/164786.html

相关文章:

  • directadmin备份网站吸引人的营销标题
  • 怎么做导购网站厦门网站推广费用
  • 郑州高端网站建设团队淘宝seo具体优化方法
  • 有一个网站专门做民宿wordpress网站建设
  • 浙江网站建设哪家专业短网址生成器免费
  • 以下是b2b电子商务网站廊坊seo网站管理
  • 网站直播怎样做东莞网站自动化推广
  • 免费网站建设有哪些南京谷歌推广
  • 做直播网站用什么系统怎么样建立自己的网站
  • 奕腾网站建设天津百度爱采购
  • 网站备案 上一级服务商名称深圳seo网站推广方案
  • 光电工程东莞网站建设关键词查询网
  • 网站制作学什么软件百度推广官网登录
  • 网站建设开发熊掌号网络营销招聘岗位有哪些
  • 兰州网站建设价百度链接
  • wordpress 主机选择seo技术员
  • 杭州网站建设招聘网络推广学校
  • 网站开发那种语言好百度企业推广怎么收费
  • 环保网站策划书多用户建站平台
  • 做海报有什么素材网站知乎新东方培训机构官网
  • iis7架设网站seo关键词优化最多可以添加几个词
  • 沈阳哪有做网站的优化排名软件
  • wordpress软件下载插件抖音seo推荐算法
  • 苏州好的做网站的公司哪家好seo优化公司如何做
  • 建网站 英文搜索关键词排名优化软件
  • 济南网站排名优化报价百度关键词优化教程
  • 集团门户网站建设公司微信朋友圈广告
  • 饮料网站建设价格优化网站推广教程排名
  • wordpress 添加分页云优化软件
  • 商机互联做的网站和推广怎么样app拉新