十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、this,其实可以类比成人
创新互联公司2013年至今,先为腾冲等服务建站,腾冲等地企业,进行企业商务咨询服务。为腾冲企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。说到this的话,我们在js中主要研究的都是函数中的this,在javascript中,this代表当前行为的执行主体,而context代表的是当前行为执行的的环境(区域)。
例如男神在北理珠吃饭,这句话分别代表的含义如下
男神 -->> 主体(this)
吃饭 -->> 函数(function)
北理珠 -->> 环境(context)
-->>说明:吃饭是函数,男神是函数的主体,北理珠就是当前行为的执行环境(context),主体跟上下文没有必然的联系,主体只与函数有关系;就好像男神吃饭,其实哪里都可以吃饭,吃饭这个动作的主体永远都是男神,环境是可以变化的。
-->>结论:上面,其实也可以说明,this指的是谁,和函数在哪里定义和执行是没有任何关系的。
二、在函数中,如何区分this
1、函数执行,首先看函数名前面是否有“.” ,有的话, “.”前面是谁,this就是谁;没有的话this就是window
//例子一 console.log(this); function eat() { console.log(this); //this->window } ~function() { eat(); //this->window }(); //例子二 function fn() { console.log(this); } var obj = {fn: fn}; fn(); //this->window obj.fn() //this->obj //例子三 function sum() { fn(); } sum(); //this->window //例子四 var oo = { sum: function() { console.log(this); fn(); } } oo.sum(); //首先sum函数里面,第一个输出this为oo;之后执行fn(),this为window
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。