JavaScript中的this机制
网络编程 2021-07-04 21:04www.168986.cn编程入门
简言之,this是JavaScript语言中定义的众多关键字之一,它的特殊在于它自动定义于每一个函数域内,this倒地指引啥东西却让很多人张二摸不着头脑。希望看完这篇文章了你能回答出来this到底指引个甚。
JavaScript有自己的一套this机制,在不同情况下,this的指向也不尽相同。
全局范围
console.log(this); //全局变量
全局范围使用this指向的是全局变量,浏览器环境下就是window。
注ECMAScript5的strict模式不存在全局变量,这里的this是undefined。
函数调用中
function foo() { console.log(this); } foo(); //全局变量
函数调用中的this也指向全局变量。
注ECMAScript5的strict模式不存在全局变量,这里的this是undefined。
对象方法调用
var test = { foo: function () { console.log(this); } } test.foo(); //test对象
对象方法调用中,this指向调用者。
var test = { foo: function () { console.log(this); } } var test2 = test.foo; test2(); //全局变量
不过由于this的晚绑定特性,在上例的情况中this将指向全局变量,相当于直接调用函数。
这点非常重要,同样的代码段,只有在运行时才能确定this指向
构造函数
function Foo() { console.log(this); } new Foo(); //新创建的对象 console.log(foo);
在构造函数内部,this指向新创建的对象。
显式设置this
function foo(a, b) { console.log(this); } var bar = {}; foo.apply(bar, [1, 2]); //bar foo.call(1, 2); //Number对象
使用Function.prototype的call或者apply方法是,函数内部this会被设置为传入的第一个参数。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指