位置: 编程技术 - 正文

Javascript this 关键字 详解

发布时间:2024-02-27

推荐整理分享Javascript this 关键字 详解,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

一、this指向构造函数实例化对象

在上篇文章中,我们提到了使用new和不使用new调用构造函数的区别,如下例:

当构造函数当做普通函数被调用时,并没有返回值,同时this指向全局对象。那么我们如何来避免因为缺少new关键字,而产生的问题呢?

在上例中,我们首先检查this是否是Benjammin的实例,如果不是,使用new自动调用构造函数,并实例化,这意味着,我们不再需要担心,遗漏new关键字实例化构造函数。当然这样我们可能会养成一个坏的习惯,如果避免这种现象呢?我们可以抛出一个错误,像下面这样:

二、this指向调用该函数的对象

看下面的例子:

三、this指向全局对象

在上面讨论构造函数的时候我们也讨论到不适用new的时候,this会指向全局对象,下面我们来看看两种常见的容易犯错的实例:

Javascript this 关键字 详解

在使用闭包的时候,作用域发生变化,this指向window(浏览器中)。

此时this始终指向函数调用时的对象。

四、this指向apply/call()方法指派的对象

五、callback函数?鹊?his指向调用该callback的函数的this所指向的对象

六、Function.prototype.bind中的this

The bind() method creates a new function that, when called, has its this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new function is called.实例一:

实例二:

Dojo Javascript 编程规范 规范自己的JavaScript书写 前言良好的JavaScript书写习惯的优点不言而喻,今天彬Go向大家推荐DojoJavascript编程规范,相当不错的Javascript编程风格规范,建议大家可以借鉴一下此规

Javascript基础知识(一)核心基础语法与事件模型 一.Javascript核心基础语法1.Javascript是一门增加交互效果的编程语言,它最初由网景公司发明,最后提交给ECMA(欧洲计算机制造商协会),ECMA将Javascript标准

Javascript基础知识(二)事件 Event对象:(event对象是window对象的属性,当事件发生时,同时产生event对象,事件结束,event对象消失)IE中:window.event;//获取对象DOM中:argument[0];//获取对

标签: Javascript this 关键字 详解

本文链接地址:https://www.jiuchutong.com/biancheng/385647.html 转载请保留说明!

上一篇:Javascript 构造函数详解(javascript构造函数继承)

下一篇:Dojo Javascript 编程规范 规范自己的JavaScript书写

  • 纳税义务发生时间 纳税期限
  • 非税缴税是什么意思
  • 疫情期间生活服务业免征增值税截止时间
  • 个人劳务票必须本人开吗
  • 非营利组织支付给他人劳务费
  • 小规模纳税人资产负债表和利润表
  • 个体季度申报怎么写
  • 个体工商户是否家庭经营的区别
  • 税控设备发行是什么行业
  • 出租的土地使用权是无形资产吗
  • 报销单第一页写不完
  • 民营企业月末要报哪些税
  • 行政事业单位会计制度
  • 单位搬迁员工怎么办
  • 生产车间的房屋租赁费计入什么科目
  • 公司社保退回会退钱吗
  • 哪些发票无法全开
  • 税后2.5万工资税前多少钱
  • 进项税加计扣除申报表怎么填
  • 超过三年的坏帐损失税前扣除怎样规定?
  • 怎么进行现金流量分析
  • macbookpro磁盘需要分区吗
  • mac book air文件夹怎么重命名
  • 如何配置环境变量windows
  • 宏病毒感染的文件类型是什么
  • nerosmartstart.exe - nerosmartstart是什么进程 作用是什么
  • 市面最高版本
  • 调整以前年度管理费用会计分录
  • 巨大的冰柱造句
  • PHP:getimagesize()的用法_GD库图像处理函数
  • js怎么把时间戳转为日期yyyy-mm-dd
  • 工会费会计分录
  • php 无限级分类
  • framework怎么用
  • vue2转vue3工具
  • 暂估和开票的差别是什么
  • axios请求数据的数据类型
  • gdal官方文档
  • 如何使用php给图片命名
  • XF86Setup命令 设置XFee86
  • 开发票的盘锁了
  • 织梦标签理解
  • 用vue做的企业项目
  • 福利费属于管理费吗
  • 不能抵扣的抵扣了怎么办
  • 企业分期收款的账务处理
  • 研发项目会计分录
  • 计提的坏账应该计入哪个科目
  • 公司利润如何
  • 外出经营活动需要预缴税款吗2020年
  • 12月结账后要年度结转吗
  • 接受捐赠后怎么发表感言
  • 多计提的税款会计处理
  • 个人生产经营所得税怎么申报
  • 营改增后建筑业税率
  • 固定资产清理和持有待售资产
  • IN&EXISTS与NOT IN&NOT EXISTS 的优化原则小结
  • centos7怎么配置yum源
  • win10设置不了
  • unix系统复制命令
  • win10打开或关闭
  • win10无法安装软件怎么解决
  • 电脑周边是什么
  • xp系统的电脑无法启动
  • mac如何修改用户名称
  • win8.1无线网
  • bootstrap-Treeview实现级联勾选
  • js中attribute
  • 怎样从零开始
  • linux怎么调用python
  • 零磁道的重要性
  • python将结果写入excel
  • 煤炭行业的税负率是多少合适
  • 车辆购置税如何入账
  • 民办学校需要交工会经费吗
  • 购置税完税证明在哪里打印
  • 广东税务实名注册
  • 二手房交易契税减免政策
  • 告知承诺和非告知承诺
  • 国税和地税归哪里管
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号