iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么用JavaScript给对象修改注册监听器
  • 852
分享到

怎么用JavaScript给对象修改注册监听器

2023-06-05 03:06:48 852人浏览 独家记忆
摘要

这篇文章主要介绍“怎么用javascript给对象修改注册监听器”,在日常操作中,相信很多人在怎么用JavaScript给对象修改注册监听器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用JavaScri

这篇文章主要介绍“怎么用javascript给对象修改注册监听器”,在日常操作中,相信很多人在怎么用JavaScript给对象修改注册监听器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用JavaScript给对象修改注册监听器”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

我们在开发一些大型前端项目时,会遇到这样一种情况,某个变量上有个字段。我们想知道是哪一段程序修改了这个变量上的字段。比如全局变量window上我们自定义了一个新字段_name,我们想知道到底有哪些程序给这个字段赋了值。

一行行地调试肯定太费时间了。如果window这个变量的_name字段被程序赋值时,能执行我们自己实现的一个监听器,这样不就方便多了么?

监听器的实现很简单:

<html><script>"use strict";function test(){  Object.defineProperty(window, "_name", {  get : function(){ console.log("gett is called ") },  set : function(newValue){      debugger;      console.log("_name is filled!!!!");  },  enumerable : true,  configurable : true});for( var i = 0; i < 2; i++)   console.log(i);window._name = "2";};test();</script>

使用Object对象自带的方法defineProperty, 第一个参数为要监听的对象window,第二个参数为要监听的对象字段名称,_name。

第三个参数是一个对象,属性为set,意思是我们想监听window._name被赋值的这个事件。属性set的值为一个JavaScript函数,即我们自己定义的监听器。这个监听器,当window._name被其他JavaScript函数修改之后,就会触发。

怎么用JavaScript给对象修改注册监听器

测试一下,在浏览器里执行上述代码,发现断点按照我们期望的被触发了:

怎么用JavaScript给对象修改注册监听器

从调用栈也能发现确实是window._name = "2"这一行代码触发的断点,我们自己注册的属性修改监听器确实工作了。

怎么用JavaScript给对象修改注册监听器

到此,关于“怎么用JavaScript给对象修改注册监听器”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 怎么用JavaScript给对象修改注册监听器

本文链接: https://www.lsjlt.com/news/240913.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么用JavaScript给对象修改注册监听器
    这篇文章主要介绍“怎么用JavaScript给对象修改注册监听器”,在日常操作中,相信很多人在怎么用JavaScript给对象修改注册监听器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用JavaScri...
    99+
    2023-06-05
  • Vue怎么使用watch监听数组或对象
    这篇文章主要介绍“Vue怎么使用watch监听数组或对象”,在日常操作中,相信很多人在Vue怎么使用watch监听数组或对象问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue怎么使用watch监听数组或对象...
    99+
    2023-07-02
  • Vue3中怎么使用watch监听对象的属性值
    这篇文章主要介绍“Vue3中怎么使用watch监听对象的属性值”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue3中怎么使用watch监听对象的属性值”文章能帮助大家解决问题。Vue3 中使用 w...
    99+
    2023-07-04
  • 注册表的修改为什么必须要用注册表编辑器
    这期内容当中小编将会给大家带来有关注册表的修改为什么必须要用注册表编辑器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。因为我们不能对系统中二进制数据文件进行直接修改,是需要借助于注册表编辑器的,而注册表编...
    99+
    2023-06-26
  • Vue Watch方法不能监听到数组或对象值的改变怎么解决
    这篇文章主要介绍了Vue Watch方法不能监听到数组或对象值的改变怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue Watch方法不能监听到数组或对象值的改变怎么解决文章都会有...
    99+
    2023-06-29
  • 使用javascript怎么对css进行修改
    这篇文章给大家介绍使用javascript怎么对css进行修改,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。javascript 动态修改css样式方法汇总(四种方法)在很多情况下,都需要对网页上元素的样式进行动态的修...
    99+
    2023-06-14
  • Navicat Premium 15无限试用注册表怎么修改
    小编给大家分享一下Navicat Premium 15无限试用注册表怎么修改,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!网上有...
    99+
    2024-04-02
  • mybatis中怎么利用注解对对象进行批量更改
    这期内容当中小编将会给大家带来有关mybatis中怎么利用注解对对象进行批量更改,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。mybatis注解对象批量更改一、介绍当有多个对象需要进行更改时,批量修改对象...
    99+
    2023-06-20
  • 使用JavaScript怎么对CSS样式进行修改
    这期内容当中小编将会给大家带来有关使用JavaScript怎么对CSS样式进行修改,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。html中的内容:<!DOCTYPE html><...
    99+
    2023-06-14
  • Vista中怎么通过修改注册表禁用控制面板
    Vista中怎么通过修改注册表禁用控制面板,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。第一式:全面禁用控制面板    通常情况下,通过对控制...
    99+
    2023-06-14
  • 电脑要怎么用注册表修改桌面文件的路径
    这篇文章主要介绍电脑要怎么用注册表修改桌面文件的路径,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!更改桌面文件路径方法:调出运行窗口,输入regedit命令后回车打开注册表。在打开的注册表界面中依次展开以下路径,如图...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作