javascript DefineProperty 使属性不可枚举

2023-11-27

我试图使用 DefineProperty 使属性不会出现在 for...in 循环中,但它不起作用。这段代码正确吗?

function Item() {
    this.enumerable = "enum";
    this.nonEnum = "noEnum";
}
Object.defineProperty(Item, "nonEnum", { enumerable: false });

var test = new Item();

for (var tmp in test){
    console.log(tmp);
}

Item没有名为的属性nonEnum (一探究竟)。它是一个(构造函数)函数,它将创建一个具有名为nonEnum.

所以这个可以工作:

var test = new Item();
Object.defineProperty(test, "nonEnum", { enumerable: false });

你也可以像这样编写这个函数:

function Item() {
    this.enumerable = "enum";
    Object.defineProperty(this, "nonEnum", { 
        enumerable: false, 
        value: 'noEnum' 
    });
}

jsFiddle 演示

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

javascript DefineProperty 使属性不可枚举 的相关文章

随机推荐

  • 为什么我的dispatch_once会陷入僵局?

    为什么我会陷入僵局 void foo static dispatch once t onceToken dispatch once onceToken self foo whatever 我预计foo第一次调用时执行两次 现有的答案都不是很
  • MCrypt rijndael-256 到 OpenSSL aes-256-ecb 转换

    由于 Mcrypt 已被弃用 我想在代码中使用 OpenSSL 因为我们已经在服务器中使用 php 7 2 4 我使用以下代码进行加密 解密 加密 function encrypt text salt if text return if s
  • 增加 EWS 流订阅连接的生命周期元素

    使用 Microsoft 的 EWS 我们能够监听邮箱并在收到新电子邮件时采取行动 但是 我不知道如何避免连接超时 根据 Microsoft 的说法 以下是 StreamingSubscriptionConnection 的构造函数 pub
  • django模板系统,调用模型内的函数

    我想在模板中调用模型中的函数 例如 class ChannelStatus models Model def get related deltas self epk mystring if not self get error code d
  • 将信息从 Chromium Embedded (Javascript) 发送到包含 C++ 的应用程序

    查看 Chromium 嵌入式框架示例后 我有一个问题 我需要与窗口的嵌入部分进行本机交互 然而 在 CEF 示例中 我看到的只是 c 向浏览器发送消息 而不是相反 我想知道是否有任何方法可以从 JavaScript 从 C 发送消息 就像
  • R 将因子 ID 变量转换为数字 ID 变量

    我对 R 编程有疑问 在花了几个小时查看互联网和 Stack Overflow 上的潜在响应后 我不知道如何解决它 我在 data frame 的一列中有一个因子变量 如下所示 Columnname agsgssg agsgssg agsg
  • 将设备中的磁场 X、Y、Z 值转换为全局参考系

    当您使用 TYPE MAGNETOMETER 传感器时 您将获得与设备方向相关的磁场强度的 X Y Z 值 我想要得到的是将这些值转换为全局参考系 澄清 用户拿起设备 测量这些值 然后将设备绕任何轴旋转一定角度并获得相同的值 请在下面找到类
  • 如何找到数组中至少重复N/2次的元素?

    给定一个包含 N 个元素的数组 我们知道其中一个元素至少重复 N 2 次 我们对其他元素一无所知 它们可能是重复的 也可能是唯一的 有没有办法找出单次重复至少 N 2 次或者可能是 O N 的元素 无需使用额外空间 由于其他用户已经发布了该
  • scikit-learn 中的分层训练/测试分割

    我需要将数据分为训练集 75 和测试集 25 我目前使用下面的代码来做到这一点 X Xt userInfo userInfo train sklearn cross validation train test split X userInf
  • 将 thunk 传递给 puppeteer 的 $.eval

    功能setValue接收一个值并返回一个函数 在第二个函数中 我试图控制台记录以下值value但我得到 Error Evaluation failed ReferenceError value is not defined 我的代码如下 可
  • C 定义的值意外更改

    我有很多 define在我的代码中 现在 一个奇怪的问题出现了 我有这个 define ImmSign 010100 我正在尝试模拟一个二进制数 显然 我期望这个数字变成10100 但是当我使用这个数字时 它已经变成了4160 这里发生了什
  • 用户定义的文字参数中的初始值设定项列表

    我不知道这是否可能 但我想做类似的事情 int someval 1 if 1 2 3 4 v contains someval 但是当我尝试将文字定义为 std vector
  • 用户身份验证未保留在 Laravel 包中

    这是我第一次尝试 Laravel 包 并遇到了一个问题 其中 Auth attempt credentials 在我的登录控制器中工作 但在重定向到受保护的路由或控制器时 用户不再经过身份验证 下面是我的登录控制器方法 其中重定向到仪表板已
  • 在 Windows 上使用 XAMPP 安装 PHP YAML 扩展

    大家好 我目前正在 PhP 上做一些工作 需要我使用以下方法解析 YAML 文件yaml parse file 功能 我对这门语言还很陌生 所以当我尝试在 Windows 上未经修改的 XAMPP 服务器上使用该函数时 我收到错误 找不到函
  • 如何单击或点击 TextView 文本

    我知道这很简单 doh 但我正在寻找一种方法来运行在 Android 应用程序中点击或单击 TextView 文本行的方法 我一直在考虑按钮侦听器和匿名方法侦听器调用 但它似乎不适用于 TextView 有人可以向我指出一些代码片段 以展示
  • HTML5 视频无法流式传输并且需要 90 秒才能加载

    我有一个 HTML5 视频播放器
  • 如果我的项目依赖于python和nodejs,如何编写.travis.yml?

    我的项目包括一些 python 代码并使用 grunt 构建 我写 travis yml like language node js before install pip install Django npm install g grunt
  • 如何允许在不处于编辑模式的情况下对 SwiftUI 列表中的行进行重新排序?

    是否可以在不处于编辑模式的情况下允许对 SwiftUI 列表中的行进行重新排序 那就是给行一个右手汉堡菜单图标 他们可以用它来重新排序一行 就像在编辑模式下可能的那样 如果我正确理解你的问题 那么可以这样做 import SwiftUI s
  • 应用程序关闭时 FCM 推送通知不起作用 Android

    好吧 我到处都找过了 但找不到答案 我已经在我的 Android 应用程序中实现了推送通知 并且当应用程序处于活动状态 前台或后台 时一切正常 但是如果我关闭应用程序 我将停止接收通知 这是我发送通知的 php 代码 public stat
  • javascript DefineProperty 使属性不可枚举

    我试图使用 DefineProperty 使属性不会出现在 for in 循环中 但它不起作用 这段代码正确吗 function Item this enumerable enum this nonEnum noEnum Object de