位置: 编程技术 - 正文

改变javascript函数内部this指针指向的三种方法(javascript修改)

发布时间:2024-02-27
在查了大量的资料后,我总结了下面的三条规则,这三条规则,已经可以解决目前我所遇到的所有问题.规则0:函数本身是一个特殊类型,大多数时候,可以认为是一个变量。 都可以认为是创建了一个变量,这个变量的值就是一个函数。 规则1:如果一个函数,是某个对象的key 值,那么,this就指向这个对象。 这个规则很好理解: 函数就是一个变量,但是可以绑定到某个对象的下面,并且 this 就会指向 o 对象。 这里必须要注意,没有被绑定的对象,默认this 指向window 对象。 举几个例子: 还必须注意的是,绑定没有传递性,比如上面的嵌套的函数,a绑定到 o 对象,那么就影响了a函数, 而b 还是指向到window。 规则2:如果函数new 了一下,那么就会创建一个对象,并且this 指向 新创建的对象。 var o = new a(); 这个时候,o 不再是个函数,而实际上,可以认为是这样的一个过程。 创建一个对象 var o = {}; 然后,把this 指向 o,通过this 把 o 给初始化了。 规则3:通过apply 可以改变this 的指向 这个apply 的绑定就更加的灵活了,实际上,apply的功能和下面的功能差不多。 简单的,可以a.apply(obj, [obj]); // true javascript 的this 可以简单的认为是 后期绑定,没有地方绑定的时候,默认绑定window。 综合实例: jquery 里面有一个很常用的函数 each,可以把循环的对象元素绑定到this,方便操作。 这里只是简单的做个演示: 代码 可以看到我头部导航的链接都变成红色了。

推荐整理分享改变javascript函数内部this指针指向的三种方法(javascript修改),希望有所帮助,仅作参考,欢迎阅读内容。

改变javascript函数内部this指针指向的三种方法(javascript修改)

文章相关热门搜索词:js改变width,js修改函数,javascript改变元素属性,js中改变this的方法,js更改ua,js修改函数,js改变变量的值,js更改ua,内容如对您有帮助,希望把文章链接给更多的朋友!

JavaScript 对象链式操作测试代码 虽然现在慢慢减少了对jQuery的使用(项目上还是用,效率高点。平时基本不用了),希望从而减少对jQuery的依赖度。但是这链式操作的方式实在吸引人

javascript 模式设计之工厂模式学习心得 模式类型:工厂模式模式说明:常用模式之一,用来动态创建对象适用范围:在运行期间需要在一系列可互换的子类中进行选择的类注意事项:接口的

JavaScript 类的定义和引用 JavaScript高级培训 自定义对象 一,概述在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类、Hashtable类等

标签: javascript修改

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

上一篇:javascript 设计模式之单体模式 面向对象学习基础(js设计模型)

下一篇:JavaScript 对象链式操作测试代码(js 对象key)

  • 企业所得税的计算公式
  • 劳务工报价单
  • 无形资产的确认条件
  • 当月出租设备需要发票吗
  • 税费四舍五入的怎么做帐
  • 车辆停放服务属于交通运输服务吗
  • 合并报表中少数股东权益是什么意思
  • 工会经费按什么计算的
  • 建筑业收入确认条件
  • 建帐时库存的原材料如何入帐?
  • 保险的月缴纳可以调整么?
  • 房地产企业如何计算增值税
  • 维修属于劳务还是劳务
  • 技术服务费收入属于提供劳务收入吗
  • 走物流的货物如何收费
  • 工程施工科目核算
  • 报销抵冲银行日记帐要怎么入帐?
  • 资产总额小于所有者权益合计
  • 增值税专用发票校验码是哪个位置
  • 清算期间企业所得税申报期限
  • 农产品免税产品可以开增值税专用发票吗
  • 采购不签合同
  • 苹果手机耳返功能怎么关闭
  • 小规模开票运费怎么开
  • 知识产权?
  • 2020快手怎么删除
  • 办理营业执照费用和流程
  • hpp是什么文件
  • PHP:curl_share_close()的用法_cURL函数
  • php的array_multisort()使用方法介绍
  • uni app怎么样
  • 贷款减值损失准备怎么算
  • 手机忘记密码怎么解开锁华为
  • 扣缴个人所得税报告表在哪里打印
  • php模板教程
  • vuecli3创建项目的过程
  • html列表去掉点
  • vscode的常用插件
  • 个人所得税大病医疗夫妻双方怎么扣除
  • mysql时间格式转换函数
  • 股东的投资款怎么收回
  • 企业所得税汇算清缴会计分录
  • 申报成功后怎么更正申报
  • 收到以前年度退款怎么做分录
  • 生产部的管理人员算什么费用
  • 房屋租赁费属于变动成本吗
  • 减少实收资本会影响资产吗
  • 结转库存商品需要附件吗
  • 原始凭证分类的依据有什么
  • 季报企业所得税弥补亏损数怎么填
  • 事业单位残疾人就业保障金减免
  • 政府部门有税务和审计审查吗
  • 解读分布式光伏开发前期工作要点及措施
  • macos怎么操作
  • 电脑安装win8
  • windows vista界面
  • 活动目录管理工具
  • surface rt升级win10详细教程
  • 深度u盘装xp系统教程
  • 苹果mac双系统怎么删除
  • vnc远程桌面linux
  • win7系统硬盘
  • xp系统桌面图标大小怎么调整
  • linux系统漏洞总结
  • centos7如何进入命令行
  • 2020win7免费升级win10教程
  • 电脑怎么连接上隐形wi
  • linux克隆虚拟机
  • opengl编程语言
  • android读写sd卡权限
  • javascriptcsdn
  • fiori开发工具
  • jquery keydown
  • vr project
  • jquery 列表控件
  • js获取div下指定元素的值
  • jquery示例
  • 座机怎么查来电显示号码
  • 发货确认收入还是以开票确认收入
  • 宁阳旧城改造名单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号