JS中this指向函数的调用方法有哪些?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
10年积累的成都网站建设、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有彭水苗族土家族免费网站建设让你可以放心的选择与我们合作。创新互联专注于塔什库尔干塔吉克网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供塔什库尔干塔吉克营销型网站建设,塔什库尔干塔吉克网站制作、塔什库尔干塔吉克网页设计、塔什库尔干塔吉克网站官网定制、小程序制作服务,打造塔什库尔干塔吉克网络公司原创品牌,更为您提供塔什库尔干塔吉克网站排名全网营销落地服务。成都创新互联公司专注于天峻网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供天峻营销型网站建设,天峻网站制作、天峻网页设计、天峻网站官网定制、微信平台小程序开发服务,打造天峻网络公司原创品牌,更为您提供天峻网站排名全网营销落地服务。初学javascript总会对this指向感到疑惑,想要深入学习javascript,必须先理清楚和this相关的几个概念。javascript中this总是指向一个对象,但具体指向谁是在运行时根据函数执行环境动态绑定的,而并非函数被声明时的环境。除去不常用的with和eval的情况,具体到实际应用中,this指向大致可以分为以下4种。
作为对象的方法调用当函数作为对象的方法被调用时,this指向该对象:
var person = { name: 'twy', getName: function() { console.info(this === person); // 输出true console.info(this.name); // 输出twy } } person.getName();作为普通函数调用
当函数作为普通的函数被调用时,非严格模式下this指向全局对象:
function getName(){ // 非严格模式 console.info(this === window); // 浏览器环境下输出true } getName();
严格模式下this为undefined:
function getName(){ // 严格模式 "use strict" console.info(this === window); // 输出false } getName();构造器调用
当new一个对象时,构造器里的this指向new出来的这个对象:
function person(){ // 构造函数 this.color = 'white'; } var boy = new person(); console.info(boy.color); // 输出whitecall或apply调用
用Function.prototype.apply或Function.prototype.call可以动态改变传入函数的this指向:
// 声明一个父亲对象,getName方法返回父亲的名字 var father = { name: 'twy', getName: function(){ return this.name; } } // 生命一个儿子对象,但是没有返回名字的功能 var child = { name: 'chy' } console.info(father.getName()); // 输出twy // 使用call或apply将father.getName函数里this指向child console.info(father.getName.call(child)); // 输出chy console.info(father.getName.apply(child)); // 输出chy
感谢各位的阅读!看完上述内容,你们对JS中this指向函数的调用方法有哪些大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联网站制作公司行业资讯频道。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款