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

网站建设及运营平台推广方式

网站建设及运营,平台推广方式,关键词首页排名代做,app网站开发培训在JavaScript中,this是一个特殊的关键字,用于表示函数执行的上下文对象,也就是当前函数被调用时所在的对象。由于JavaScript的函数调用方式多种多样,this的指向也因此而变化。本文将介绍JavaScript中this的指向及绑定规则&#xf…

在JavaScript中,this是一个特殊的关键字,用于表示函数执行的上下文对象,也就是当前函数被调用时所在的对象。由于JavaScript的函数调用方式多种多样,this的指向也因此而变化。本文将介绍JavaScript中this的指向及绑定规则,包括默认绑定、隐式绑定、new绑定、显式绑定和箭头函数中的this规则。

1. 默认绑定

默认绑定指的是在独立函数调用的情况下,this会指向全局对象(浏览器环境下为window对象,严格模式下为undefined)。例如:

function foo() {console.log(this);
}foo(); // 在浏览器环境下输出window对象,在严格模式下输出undefined

无论是多层调用,只要是使用默认调用的方法,this的指向都会是全局对象。

2. 隐式绑定

隐式绑定是指通过某个对象进行调用的情况下,this会指向调用该函数的对象。例如:

function foo() {console.log(this);
}var obj = {name: "sss",foo: foo
};obj.foo(); // this指向obj对象

 

 

无论多少层调用,只要调用的方法是通过某个对象发起的,this都指向调用该函数的对象。

3. new绑定

在JavaScript中,函数可以当作构造函数使用,使用new关键字调用函数时,会执行以下操作:

  1. 创建一个全新的对象;
  2. 这个新对象会被执行prototype连接;
  3. 这个新对象会绑定到函数调用的this上(this的绑定在这个步骤完成);
  4. 如果函数没有返回其他对象,表达式会返回这个新对象。

例如:

function Person(name) {console.log(this);this.name = name;
}var p = new Person("aaa");
console.log(p); // p为新创建的Person对象

 

 

4. 显式绑定

如果不希望在对象内部包含函数的引用,同时又希望在某个对象上进行强制调用,可以使用callapplybind方法。

4.1 apply方法

apply方法用于绑定函数的this对象,将this绑定到传入的对象上。该方法传入的参数是一个对象和一个参数数组。

function foo(name, age, height) {console.log(this);console.log("打印参数:", name, age, height);
}var obj = {name: "zzz"
};foo.apply(obj, ["aaa", 30, 1.98]); // this指向obj对象

4.2 call方法

call方法也用于绑定函数的this对象,但是参数需要逐个传入。

function foo(name, age, height) {console.log(this);console.log("打印参数:", name, age, height);
}var obj = {name: "zzz"
};foo.call(obj, "aaa", 30, 1.98); // this指向obj对象

4.3 applycall的第一个参数

applycall的第一个参数是用来绑定this对象的,可以是任意对象,甚至是windowNumberString对象。

function foo(name, age, height) {console.log(this);
}var obj = {name: "zzz"
};foo.apply(obj, "aaa", 30, 1.98); // this指向obj对象
foo.call(window); // this指向window对象
foo.call(123); // this指向Number对象
foo.call("string"); // this指向String对象

 

 

4.4 bind方法

bind方法也用于绑定函数的this对象,但不会立即执行函数,而是返回一个新的函数。

 

http://www.dinnco.com/news/43091.html

相关文章:

  • 中国猎头公司排行榜seo外链查询工具
  • 树木挂牌图片自制上海外包seo
  • 低价网站建设靠谱吗微信朋友圈产品推广语
  • 青岛商城网站建设郑州网络营销哪家正规
  • 杭州建站平台百度下载电脑版
  • 官方网站开发用什么语言100个商业经典案例
  • 阳江招聘网有哪些seo网站推广公司
  • 天助可以搜索别人网站口碑营销案例
  • wordpress 镜像域名网站建设与优化
  • 中国菲律宾友谊淘宝网店的seo主要是什么
  • 欧洲做r18 cg的网站东莞百度快照优化排名
  • 潮州有没有做网站的人搜狗seo排名软件
  • 网站建设开发中br标签的作用深圳百度seo代理
  • 网站建设开发语言河南网站推广优化排名
  • 网站开发步奏百度官网认证
  • 南京做信息登记公司网站百度竞价开户需要多少钱
  • 塔城地区建设工程信息网站搜索引擎优化排名
  • 网站怎样做才能有点击率智慧软文发稿平台
  • 安徽智能网站建设推荐2024百度下载
  • 建设部职称评审的网站十大品牌营销策划公司
  • 纪委网站建设方案网络推广哪个平台效果最好
  • 用iis搭建网站广州seo运营
  • 怎么做卖保险的网站微营销平台系统
  • 手机商城网站系统2021年经典营销案例
  • 免费工程信息网搜索引擎优化seo应用
  • 做软装设计找图有什么好的网站新闻博客软文自助推广
  • web前端设计成都网站seo技巧
  • 曙光建设有限公司网站谷歌google搜索引擎入口
  • 移动网站开发书籍迅雷磁力链bt磁力天堂下载
  • 化妆品网站建设计划书网络媒体发稿