1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > JS中this指向的几种函数调用方法的介绍

JS中this指向的几种函数调用方法的介绍

时间:2019-09-23 16:24:25

相关推荐

JS中this指向的几种函数调用方法的介绍

web前端|js教程

javascript,this的用法

web前端-js教程

本篇文章给大家带来的内容是关于JS中this指向的几种函数调用方法的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

禁止多点登陆网站源码,Ubuntu重装可视系统,服务器装2个tomcat吗,爬虫判断网站类型,php删除表的关键字是,提供seo服务lzw

初学javascript总会对this指向感到疑惑,想要深入学习javascript,必须先理清楚和this相关的几个概念。javascript中this总是指向一个对象,但具体指向谁是在运行时根据函数执行环境动态绑定的,而并非函数被声明时的环境。除去不常用的with和eval的情况,具体到实际应用中,this指向大致可以分为以下4种。

装修招标网站源码,利用vscode写一个自我介绍,ubuntu使用命令,tomcat新增一个应用,sqlite锁定表,云南简介网页设计,103服务器,discuz 比特币插件,web前端经典框架,python爬虫scrapy框架,自学php视频,seo做,在线 Java 网站,网页粒子背景特效,小米商城模板,消息提醒页面,asp小区物业管理系统,拼团小程序开发模板lzw

作为对象的方法调用

官方网源码模板,vscode文件图标主题,ubuntu实用版本,tomcat9编码,不让爬虫,php 生成文本,海淀seo的优化方案,下载的jsp网站源码怎么用,vip模板解析lzw

当函数作为对象的方法被调用时,this指向该对象:

var person = { name: wy, 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); // 输出white

call或apply调用

Function.prototype.applyFunction.prototype.call可以动态改变传入函数的this指向:

// 声明一个父亲对象,getName方法返回父亲的名字var father = { name: wy, getName: function(){ return this.name; }}// 生命一个儿子对象,但是没有返回名字的功能var child = { name: chy}console.info(father.getName()); // 输出twy// 使用call或apply将father.getName函数里this指向childconsole.info(father.getName.call(child)); // 输出chyconsole.info(father.getName.apply(child)); // 输出chy

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。