javascript:查找属性所属的原型对象

2023-12-15

我有一个来自 Square 的实例,它继承自 Rectangle

instance instanceof Rectangle --> true
instance instanceof Square    --> true
instance.area() ; // --> area is defined by Rectangle

现在,在我的代码中,我不知道“区域”函数在哪里定义,我想要定义它的原型对象。当然我可以遍历原型链(未测试)

var proto = instance ;
while( !(proto = Object.getPrototypeOf(proto)).hasOwnProperty('area') ) {}
// do something with 'proto'

但是,我想知道是否有更好/更快的方法来获取函数所属的原型对象?


不,没有。你必须遍历原型链:

function owner(obj, prop) {
    var hasOwnProperty = Object.prototype.hasOwnProperty;
    while (obj && !hasOwnProperty.call(obj, prop))
        obj = Object.getPrototypeOf(obj);
    return obj;
}

现在您只需执行以下操作:

var obj = owner(instance, "area");
console.log(obj === Rectangle);    // true

If instance或者它的原型不具备该属性area then owner回报null.

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

javascript:查找属性所属的原型对象 的相关文章

  • JSON字符串转JS对象

    我正在使用 JS 对象通过 Google 可视化创建图表 我正在尝试设计数据源 首先 我在客户端创建了一个 JS 对象 var JSONObject cols id date label Date type date id soldpenc
  • 使用正则表达式验证字符串是否安全

    我有一个网站 用户可以在其中选择用户名 目前 他们可以输入几乎任何字符 包括 ETC 我知道我可以使用正则表达式 这可能就是我的选择 我将使用否定集 我认为这是正确的工具 如下所示 那么 我怎样才能知道要放入该集合中的所有非法字符呢 我可以
  • 在移动浏览器或 PhoneGap 应用程序之间进行检测

    是否可以使用 JavaScript 检测用户是否通过浏览器或应用程序进行访问 我正在通过网页和 PhoneGap 应用程序开发适用于多个移动操作系统的混合应用程序 目标是 独立于部署目标使用相同的代码 仅当用户代理是应用程序时添加 Phon
  • JavaScript 中的 ParseFloat 函数

    当我添加两个文本框值时1 001 and 0 001然后我做了一个parseFloat I get 1 0019999999 我要它1 002 你能帮助我吗 JavaScriptNumber http www w3schools com j
  • 按住鼠标时 JavaScript 重复动作

    是否有一个 JavaScript 函数每隔如此多的毫秒重复一次 以至于按住 html 按钮 如果这可以使用标准 JavaScript 来完成 那就太好了 但使用 jQuery 或 jQuery 插件也很棒 On the mousedown
  • 匹配CSS的正则表达式“<属性>:<值>”

    我从以下位置检索了 CSS 规则document styleSheets现在我正在寻找提取它的属性和值 cssText expl position absolute background color rgb 204 204 204 max
  • YouTube - 右键单击​​时不显示上下文菜单

    想法 通过使用右键拖放到视频播放器上来查找 YouTube 视频 例如 每 2 屏幕宽度 1 秒 因此 在 1920x1080 的屏幕上 如果我按下鼠标右键 将其向左拖动 384 像素 20 然后松开 视频应该快退 10 秒 我有一个 Gr
  • HTML5 Audio Element 无法在 IOS 11 设备上的 safari 中播放 mp3 直播

    我是一家广播公司的网络开发人员 自 iOS 11 发布以来 我们收到了一些用户投诉 称我们的音频直播流无法再在 IOS 11 设备上播放 为了将流嵌入我们的网站 我们使用 HTML5 AudioElement 在 iOS 11 的 iPho
  • 如何按日期升序对对象进行排序?

    如果我有一个对象列表 var objectList LIST OF OBJECT each object列表中包含三个属性 name date gender 如何按 对列表中的对象进行排序date 属性升序 the date 属性包含字符串
  • 当 eslint 从子文件夹运行时无法解析相对模块路径

    当我从存储库的根文件夹运行 eslint 时 一切运行正常 没有错误 但是当我从子文件夹运行时 我会得到大量导入 未解决的问题 而当我从根目录运行时则不会发生这种情况 reporoot subfolder0 subfolder1 MyFil
  • jQuery 删除函数真的删除 Dom 元素吗?

    我真的想知道 jQuery 是否remove http api jquery com remove 函数确实从 DOM 中删除元素 首先 我看了here https stackoverflow com questions 2185760 j
  • PHP:在执行 php 脚本时显示“正在加载”页面

    这就是我现在所拥有的 我有一个网页 当访问该网页时 它会通过开放 API 连接到 Surveygizmo com 检索大量数据 然后将这些数据返回给我进行处理 此过程大约需要 10 12 秒 在执行时 页面只是处于 正在加载 状态 并且我会
  • 如何使 Meteor 上的服务器可以访问文本文件

    我很惊讶我无法在这里搜索我的答案 似乎没有其他人遇到这个问题 当您运行meteor服务时 js html等被打包在 meteor local build文件夹中 但它似乎排除了不是js或html的内容 我有一个名为 magicsets 的文
  • 如何列出特定服务器的所有成员?

    我的代码是 const list client guilds find id 335507048017952771 for user of list users console log user 1 username 这实际上没有任何作用
  • bootstrap-datetimepicker 仅显示日期

    我正在用这个repo https github com smalot bootstrap datetimepicker由 smalot 提供 我只想选择并显示日期 对于其他一些地方 我显示数据和时间 因此选择此存储库 我可以设法仅使用它来选
  • Chrome 和 IE 上的滚动/延迟事件

    我试图让用户始终看到一个内容块 即使他向下滚动页面也是如此 他还应该能够上下滚动内容块 这是一个精简版本的小提琴 向您展示我的意思 http jsfiddle net 9ehfV 2 http jsfiddle net 9ehfV 2 人们
  • 在 Mobile Safari 中点击

    敲击
  • 如何使 CSS 动画/过渡以固定速度而不是固定持续时间播放? [复制]

    这个问题在这里已经有答案了 我有一个 CSS 动画 可以使元素沿直线移动未定义的距离 据我所知 动画具有固定的持续时间 因此无论元素必须移动多远 动画始终需要相同的时间来运行 我该如何制作才能使动画没有固定的duration 但有固定的运动
  • 如何创建浏览器插件?

    我必须创建一个插件 当用户将鼠标悬停在某些术语上时 该插件必须显示信息 谁能告诉我如何做的方向 我对创建插件没有太多想法 我知道我想要做的事情可以通过java脚本来完成 但是java脚本文件可以作为浏览器插件安装吗 任何对此的想法将不胜感激
  • TypeScript 中 C# 类虚拟成员的等效项

    因此 在 C 中 当我创建模型类和延迟加载内容时 我会执行以下操作 public int User ID get set public int Dept ID get set 然后在我的班级稍远一点的地方 我像这样弹出我的虚拟 public

随机推荐

  • C# 中的二维数组切片

    我正在寻找在 C 中切片二维数组 我有 double 2 2 价格 想要检索该数组的第二行 我尝试过价格 1 但我有一种感觉 可能是别的东西 提前致谢 没有直接的 切片 操作 但您可以定义如下扩展方法 public static IEnum
  • 扫描仪扫描文档(TIFF 和 PDF)的最佳设置[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 扫描仪的最佳设置是什么 以便扫描文档 白色和黑色文本 并将其用于 OCR 转换 以获得最佳结果 以及 PDF 和 TIFF 格式的标准设置和规范是什么 对于 OCR 最佳扫描设置是
  • Symfony2:未设置记住我令牌

    我按照需要做了一切 但我的 记住我 标记尚未设置 我跟踪代码直到 vendor symfony src Symfony Component Security Http RememberMe TokenBasedRememberMeServi
  • R 中的 ezANOVA 和pairwise.t.test:输出

    我一直在使用 R 运行 ezANOVA 然后进行成对比较 pairwise t test 运行后似乎不包含输出 所以我有以下与此相关的问题 是否有可能在 ezANOVA 中生成均方误差以进行重复测量 如果可以 如何生成 以及如何在pairw
  • 如何设置DataGrid中选定行的颜色

    DataGrid 中选定行的默认背景颜色太暗 我无法读取它 有没有办法覆盖它 试过这个
  • 在文件夹 blog 的同一域中安装 Wordpress 和 Laravel

    我在同一个domain com 上安装了laravel 该网站已启动并运行 我需要在domain com blog 的博客文件夹中安装wordpress 当我尝试安装 WordPress 时 它不允许我运行安装并显示 此网页有重定向循环 我
  • 带引号的注册表值

    我需要将一个值插入批处理文件中的注册表中 该值包含引号 这使得插入变得困难 set OPENCOMMAND JAVAHOME bin javaw exe jar 1 reg add HKEY LOCAL MACHINE SOFTWARE C
  • 如何对未知属性的数据进行建模?

    对需要查询但无法预先完全定义的数据进行建模的好方法是什么 例如 假设我想对有关以下内容的信息进行建模世界各国 每个国家都有一个人口 a flag和一个列表语言 这很容易 但是假设我们还想建模他们的国家棒球队的胜 负记录当然 并非所有国家都有
  • 使用列级标题过滤 Slickgrid 时如何执行部分匹配?

    当使用固定标题行实现列级过滤器时 如何返回部分匹配的单元格 IE 搜索词 omato 退货 自动机 番茄等 在示例中的 MyFilter 下替换此循环 for var columnId in columnFilters if columnI
  • 如何使用该目录的文件描述符在内核级别打开该目录?

    我正在开发一个项目 我必须打开一个目录并在内核级别读取其中的文件 目录 我基本上想找出如何ls是在内核级别实现的 现在我已经弄清楚如何使用以下命令获取目录的文件描述符sys open 和O DIRECTORY flag 但我不知道如何读取收
  • 在运行时用 Java 创建 n 维数组

    我有一个包含数组的字符串 例子 1 2 4 5 7 8 现在 我想用它制作一个实际的 Java 数组 我创建了一个函数来获取维度 并创建了一个递归函数来获取数组的每个元素 因此 我创建了每个一维数组 但我想知道Java中是否有一种方法可以创
  • 如何从子级向父级引用一个类?

    这可能听起来很愚蠢 但我如何在父级的另一个脚本中引用子级中的一个脚本中的类 我在谷歌上找不到任何东西 注意 我的脚本中有几个错误 这不是本文的重点 Public Private private Rigidbody myRigidbody p
  • android webview 中的 onClick 事件太慢

    我感觉 javascript 本身在 android webview 中相当快 但是触摸元素和触发 onclick 事件之间有很长的延迟 我可以想象 如果您在页面之间导航 这是一个功能 您首先看到元素上的突出显示 然后看到效果 导航 但对于
  • 从 http.Request 获取客户端 IP 地址的正确方法

    获取所有客户端 IP 地址的正确方法是什么http Request In PHP有很多的变量我应该检查一下 Go 上也一样吗 我发现的一项是 req RemoteAddr 请求是否区分大小写 例如x forwarded for是相同的X F
  • 在.NET 中解析 VB6 代码

    我有一个用 C 编写的 WPF 项目 为了获取有关外部依赖项的一些信息 我需要解析 VB6 脚本 脚本的位置发生了变化 其内容也发生了一些变化 但我感兴趣的主要代码将采用以下格式 Select Case Fields blah Value
  • 如何在 C# 中将 JSON 转换为 XML 或 XML 转换为 JSON?

    我开始使用 Json NET 将 JSON 格式的字符串转换为对象 反之亦然 我不确定在 Json NET 框架中 是否可以将 JSON 格式的字符串转换为 XML 格式 反之亦然 是的 使用 JsonConvert 类 其中包含用于此精确
  • 如何在ag网格透视模式下将不同的列数据显示为工具提示?

    var ColDef headerName colA field colA rowGroup true headerName colB field colB pivot true enablePivot true headerName co
  • 我的代码中无效的“剥离/剩余”循环

    我有这个功能 bool interpolate const Mat im float ofsx float ofsy float a11 float a12 float a21 float a22 Mat res bool ret fals
  • 如何清理由“json_object_new_string”创建的json对象?

    我有以下代码 我想清理由以下命令创建的 json 对象json object new string include
  • javascript:查找属性所属的原型对象

    我有一个来自 Square 的实例 它继承自 Rectangle instance instanceof Rectangle gt true instance instanceof Square gt true instance area