是否可以获得“setter”的 setter 函数的引用?

2023-11-21

例如,在这段代码中

var o = {
  set a(value) {this.b = value},
  get a() {return this.b}
}

是否可以获取对该 setter 函数的引用o.a这样如果引用被分配给f那么我可以做f.call(other, value)把它用在另一个物体上?


给定您的示例对象:

var o = {
    set a(value) {this.b = value},
    get a() {return this.b}
}

您可以像这样使用 Object.getOwnPropertyDescriptor :

var setter = Object.getOwnPropertyDescriptor(o, "a").set;
var getter = Object.getOwnPropertyDescriptor(o, "a").get;

var other = {};
setter.call(other, 123);

最后一条语句将在对象“other”上设置值 123。它不影响对象“o”的值。

您还可以使用 getter 从其他地方获取值。

var result = getter.call(other);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以获得“setter”的 setter 函数的引用? 的相关文章

  • 如何在javascript中计算日出和日落?

    我正在使用appcelerator titan开发一个IOS应用程序 我想让我的应用程序在日出和日落时向用户发送本地通知 解决这个问题的一个好工具是使用 YQL 的雅虎天气 但是 雅虎天气仅供非商业用途 我正在尝试找到一个javascrip
  • Highstock highcharts 不规则数据的 x 尺度错误

    我有不规则的数据 我使用时图表绘制得很好高图表 function var chart new Highcharts Chart chart renderTo chart xAxis type datetime series name Vol
  • 在javascript中使用“return !0”有什么意义吗?

    如果您转到谷歌结果页面并运行rwt toString 你会看到这个函数的返回调用是 return 0 我想不出任何理由为什么这不会总是如此true 这只是一个简写吗true 还是还有更多事情发生 总是如此 但下载需要 2 个字节 0是 2
  • 通过 SVG 背景传递鼠标事件

    我有两个 SVG 元素 每个元素覆盖整个屏幕 html body height 100 svg position absolute top 0 left 0 bottom 0 right 0
  • Google 饼图未显示所有数据行

    我正在尝试绘制人口与国家名称的关系图 我发现 Google 可视化库仅渲染前几个 实际上数字似乎是随机的 具体取决于我使用的数据 有时添加 其他 条目 但它没有t 实际上具有其余条目的值 Example 1 With all countri
  • 通知用户消息仍在输入中

    我正在使用 Laravel 5 6 7 Socket IO 和 vue js 我没有使用 Pusher 和 redis 下面是我的代码 用于向与我一对一聊天的用户发送消息 var url http localhost 6001 apps M
  • HTML5 服务器端事件:EventSource 与包装的 WebSocket

    HTML5 服务器发送事件 SSE API 是否只是 HTML5 WebSocket 之上的受限制的 基于事件的 API 在我看来 一个EventSource只是一个WebSocket that Cannot send data 使用tex
  • JQuery 动画文本

    找到简单 简单的动画文本是非常困难的 喜欢这个网站上的 内爆 http codecanyon net item jquery text animation full screen preview 233445 http codecanyon
  • JQuery DataTable 单元格从行单击

    我正在尝试在 jquery 数据表上实现一个函数 该函数返回单击行的第一列和第四列 我正在遵循这个示例 它允许我操作单击的行http datatables net examples api select single row html ht
  • 点击问题:动态生成的链接不触发点击功能

    下面是两个代码片段 由于某种原因什么也没有发生 但来自同一个 JS 文件的其他 jQuery 函数在带有 UL 的页面上执行得很好 这是在盯着我看吗 ul class paganation li 1 li li a href 2 a li
  • ReactJS:从没有 onChange 事件的 props 中选择默认值?

    所以 我只是想知道我是否绝对需要在 React 中的选择组件上有一个 onChange 事件处理程序 我有一个道具传递我想要选择的选项的默认值 如果我有的话 它就没有问题
  • 在 vue.js 模板中包含外部脚本

    我是 Vue js 和 web pack 的新手 所以我决定使用 vue cli webpack 来构建初始应用程序 我试图包含一个外部脚本 例如组件 不需要的模板中 但是 Vue 警告这是不允许的 我的 index html 文件与最初生
  • 使用 onBlur 事件上的值更新 React 输入文本字段

    我有以下输入字段 在模糊时 该函数调用服务来更新服务器的输入值 完成后 它会更新输入字段 我怎样才能让它发挥作用 我可以理解为什么它不允许我更改字段 但我能做些什么才能使其工作 我无法使用defaultValue因为我会将这些字段更改为其他
  • Javascript 选择 onchange='this.form.submit()'

    我有一个带有选择和一些文本输入的表单 我希望在更改选择时提交表单 使用以下方法可以正常工作 onchange this form submit 但是 如果表单还包含提交按钮 则当选择更改时 表单不会提交 我猜有某种冲突 我在这里有什么选择
  • Dojo/on 和捕获阶段

    有没有办法用 dojo on 在捕获阶段 而不是冒泡阶段 触发事件 我最终在这里寻找有关 on 的前身 dojo connect 的信息 就其价值而言 dojo connect 似乎不支持捕获阶段的事件侦听器 它的工作原理是将事件处理程序作
  • 有没有办法防止输入 type=“number” 获得多个点值?

    我只想得到十进制值 如 1 5 0 56 等 但它允许多个点 有什么办法可以预防吗 您可以使用pattern属性
  • 在 Google Apps 脚本中的文本前插入换行符

    我需要在 Google 文档中的某些文本之前插入一些换行符 尝试过这种方法但出现错误 var body DocumentApp getActiveDocument getBody var pattern WORD 1 var found b
  • 如何根据所需表单输入的值更改 CSS 样式

    我想知道如何编写 javascript 来改变所需的表单元素的样式 如果它们有价值的话就改变它们 我想要做的是当所需的文本字段为空时 在它们周围有一个彩色边框 并在它们有值时删除边框样式 我想做的是编写一个 javascript 函数来检查
  • 使用 jquery 提供附加功能时菜单未正确对齐

    I need to make a mega menu similar to one as show in image below 到目前为止 我已经能够在某种程度上使其发挥作用 例如jsFiddle 在这里 http jsfiddle ne
  • 使用 Lodash 将对象键转换为具有键值数量的数组[重复]

    这个问题在这里已经有答案了 我有一个产品对象 products bread 1 milk 2 cheese 2 chicken 1 我想要一个包含产品名称的数组 如下所示 products bread milk milk cheese ch

随机推荐

  • GCC 在 bison 生成的头文件中显示“数字常量之前的语法错误”

    当我使用 bison parser y d t 编译 y 文件 然后将 parser tab h 文件包含在我的 Flex 文件中时 gcc 说 错误 数字常量之前有语法错误 它引用第 32 行 这是 yytokentype 枚举中的第一行
  • 如何找到.babelrc?

    我想创建 React 应用程序蚂蚁设计 在文档中 它说我需要更改 babelrc 以模块化加载文件 也来自https medium com GeoffMiller how to customize ant design with react
  • 如何使用 Python-Telegram-Bot 获取 Telegram 用户的用户名、名字或姓氏?

    我正在创建一个 Telegram 机器人Python Telegram Bot 我知道update message chat id返回用户的聊天 ID 但我需要知道如何获取用户的用户名或名字和 或姓氏 我找到了This在 Telegram
  • Spring RowMapper 接口到底是如何工作的?

    我正在学习 Spring Core 认证 我对 Spring 如何处理 JDBC 查询有一些疑问 所以我知道我可以通过各种方式从数据库表中获取数据 具体取决于我期望获取的数据类型 1 查询简单型 作为 int long 或 String 我
  • 一个完整的c#操作系统

    我看到了这个话题here 我想知道这是否合法 听起来像 以及这样做的缺点是什么 在某些架构中独立运行它需要什么 谢谢 尝试用托管语言创建操作系统目前是一个 有趣的研究问题 这意味着这似乎是可能的 但仍有相当多的重要问题需要解决 例如 我不希
  • ASP.NET 身份和移动客户端

    最新版本的 ASP NET 包括新的身份验证框架 ASP NET Identity 它应该是所有新的和近期的 ASP NET 项目和网站中用户管理的核心构建块 我已经看到它可以很好地与 WebAPI 集成 但还没有看到任何集成为移动客户端设
  • 数据湖和大数据是一样的吗?

    我试图了解数据湖和大数据之间是否存在真正的区别 如果你检查一下这两个概念 它们就像一个大存储库 它保存信息直到有必要为止 所以 我们什么时候可以说我们正在使用大数据还是数据湖 我不能说我以前遇到过 大存储库 这个术语 但要回答最初的问题 不
  • 如何让 fancyBox 2 调整其高度以适应其内容?

    我正在努力让我的fancyBox当其内容高于视口时扩展高度 这样 用户就可以使用浏览器的滚动条滚动其内容 相反 我的 fancyBox 不断获得自己的滚动条 我只是使用内联内容 而不是iframe 这些是我设置的选项 fancybox fa
  • 如何可靠地去除破坏代码的不可见字符?

    我正在尝试构建一个小书签 并被这个我刚刚弄清楚的问题所困扰 u8203字符 Chrome 在我的代码块 粘贴到 JS 控制台后 无助地告诉我是一个 无效字符非法 幸运的是 Safari 告诉我这是一个 u8203 我正在 Sublime T
  • NSSortDescriptor - 基于另一个数组对描述符进行排序

    我有一个核心数据应用程序 我想获取一种对象 User User拥有财产userId 我有另一个数组userIds 1 4 3 5 我想创建一个NSSortDescriptor这对我的User基于对象的顺序userIds 在数组中 这可能吗
  • powershell v2 - 如何获取进程ID

    我有一个应用程序 它运行自身的多个实例 例如 AppName exe instance1 AppName exe instance2 AppName exe instance3 我正在尝试使用 Powershell v2 创建一个简单的脚本
  • 如何偏移多边形边?

    I have a list of point2D that makes a closed polygon Now I want to create another set of 2D points by offsetting the pol
  • EntityType“ApplicantPosition”没有定义键

    运行我的第一个 asp net mvc 应用程序时出现此错误 我认为实体框架会自动创建以 Id 结尾的列名的键 这不是正确的吗 正如您所看到的 ApplicantPositionID 将是一个包含 2 列作为主键的表 因为它与申请人和职位相
  • 如何将字符串分配给可变静态变量?

    我想为全局变量赋值 但它一直出现编译器错误 static mut NameArr static str 20 0 20 fn main unsafe static mut S1 String to string S1 push 0 Name
  • EF Core 3.1 是否支持数据库优先方法?

    我们正在移植一个ASP NET MVC 4 x申请到ASP NET Core 3 1 当前应用程序正在使用EF 6 xDB优先方法 作为此迁移的一部分 我们将使用EF Core 3 1作为当前的替代方案EF 6 x 所以问题是 EF Cor
  • 安全地覆盖 RAM 中的 Python 变量? [复制]

    这个问题在这里已经有答案了 我正在用 Python 编写一个程序 其中涉及对密码进行哈希处理 假设我用它来获取密码 import getpass password getpass getpass Password 然后对其进行哈希处理 有没
  • WS_EX_APPWINDOW 是做什么的?

    这要么只是一个已弃用的窗口样式 没有文档 要么是我在搜索它时犯了一个缺陷 我的问题是 这个标志有什么作用 是否有我可能需要的支持的等效项 非常感谢您的建议 WS EX APPWINDOW是一种扩展窗口样式 记录在MSDN 它绝对不会被弃用
  • Connector/C++ MySQL 错误代码:2014,SQLState: HY000 和命令不同步错误为什么?

    您好 我使用 Connector C 并执行简单的 2 个 sql 命令 如下所示 第一个 select sql 运行正常 但第二个会导致此异常错误 ERR 命令不同步 你现在不能运行这个命令 MySQL 错误代码 2014 SQLStat
  • firebase .on("value") 和 .once("value") 之间的区别

    在更新子 Firebase 时 使用时会再运行一次 once 从 firebase 获取值并在应用程序中添加新行 但使用时 on 该代码适用于更新子项 但不适用于添加新子项 因为它从应用程序中删除了该行 尽管它添加到了 firebase 但
  • 是否可以获得“setter”的 setter 函数的引用?

    例如 在这段代码中 var o set a value this b value get a return this b 是否可以获取对该 setter 函数的引用o a这样如果引用被分配给f那么我可以做f call other value