创建像 C# 属性一样的 javascript 属性

2024-01-09

是否可以在 javascript 对象上创建一个行为类似于 C# 中的属性的属性。

例子: 我使用 dojo 创建了一个自动调整大小的文本区域小部件。为了从我的小部件中获取“value”属性,我连接了 onchange 事件,并且每次文本区域的值发生变化时我都会设置一个变量。

有没有一种方法可以在不连接 onchange 事件的情况下完成此任务。

Edit

换句话说,是否有可能在 JavaScript 中编写一些行为类似于 getter 和/或 setter 的东西。


在 ECMAScript 5 实现中是可能的,其中包括所有主要浏览器的最新版本 http://kangax.github.com/es5-compat-table/。 ECMAScript 5 规范添加了标准化的 getter 和 setter。一个奇怪的地方是 IE 8 具有此功能,但仅在 DOM 节点上。语法如下:

var obj = {};

Object.defineProperty(obj, "value", {
    get: function () {
        return this.val;
    },
    set: function(val) {
        this.val = val;
    }
});

Mozilla 中长期以来也有 getter 和 setter 的专有实现,后来也被 WebKit 和 Opera 采用,但这在 IE 中不可用。

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

创建像 C# 属性一样的 javascript 属性 的相关文章

  • 以编程方式运行 T4 文本模板

    有没有一种方法可以通过代码以编程方式运行 T4 文本模板 我正在制作一种自定义域特定语言 我希望相关的文本模板在用户每次保存时运行 目前 这就是我在 DSL 模型中所做的事情 protected override void OnDocume
  • 从套接字读取 C HTTP

    我想知道如何判断是否已从套接字接收到所有数据 这是一个简单的网络代理 现在我正在处理请求部分 所以发送的内容应该以 r n r n 结尾 我不知道请求会持续多久 我在这里读过一些帖子 说我应该检查读取函数是否返回 0 但其他人说0只在客户端
  • 如何删除实体框架6中的多对多关系

    如果将项目连接为多对多关系 则从数据库中删除项目时会出现问题 我的数据库看起来像 Project lt JobInProject gt Job ProjectID JobInProjectID JobID ProjectID JobID 主
  • 使用 jQuery 更改 SVG 元素的“xlink:href”属性

    我正在尝试使用单击事件更改 xlink href 属性 到目前为止它部分有效 这就是我正在做的 HTML a href class ui btn ui corner all ui shadow editIcon style text ali
  • 如何从Web JavaScript应用程序获取桌面C#程序中的变量

    我遇到一个问题 有两个应用程序 一种是 C 中的桌面应用程序 另一种是 javascript 中的 Web 应用程序 运行桌面应用程序中的一些变量或信息需要传输到Web应用程序 有谁知道如何解决这个问题 有人愿意提供更多细节来解决这个问题吗
  • 如何使用javascript从特定标签获取HTML文档中的所有textNode?

    如何在不使用xpath或treewalker的情况下从单个数组中的一组特定标签中获取所有textNodes blockquote em h4 h6 p IE不允许您使用xpath和treewalker 请帮助我 如果脚本仅适用于 IE 那就
  • 'DOMException:使用'option:selected'选择器时无法在'Element'上执行'querySelectorAll'

    我正在运行一个页面 该页面在以下行中引发错误 var label select find option selected html select find option first html 为了完整起见 这里是完整的 jQuery 函数
  • javascript 中一次仅选中一个复选框

    I have 3复选框 我只想1一次选中的复选框 下面是我的 html 小提琴 JS小提琴 https jsfiddle net n03jLhqa 我想要这个工作在IE8还请建议如何做 这个怎么样 fiddle http jsfiddle
  • 如何与使用 child_process.spawn 创建的新创建的服务器交互

    我正在尝试为我的私人托管的 反恐精英全球攻势 服务器制作一个前端 当我点击运行服务器时 在前端 一切正常 服务器启动并记录到控制台 但是如何查看服务器IP地址 服务器中的玩家等信息呢 这是我到目前为止运行服务器的内容 router post
  • Bootstrap 3 - 模态背景不会根据模态对话框的高度调整大小?

    我将一个表单放入模式中 并尝试在用户触发单选按钮时显示表单的一些隐藏字段 显示隐藏字段后 模态自动重新缩放的高度 但模态背景的高度不能用作模态对话框 我该如何解决它 div class modal fade div class modal
  • 按钮导致页面重新加载

    我在我的页面上使用 html 和 jquery 在我的 html 中 我有一个按钮 单击该按钮将触发一个功能 当页面加载时 我调用文档准备中的主函数 这是我的代码 div div
  • 从视图模型调用方法的命令

    好吧 我倾向于避免使用命令 因为它们总是让我感到困惑 但我正在进行一个新项目 并且正在尝试正确构建它 并且在我看来没有任何代码隐藏 基本上我现在想做的就是连接一个按钮来触发一个命令 在我的视图模型上执行一些操作 但不知何故 如此简单的事情仍
  • 类型别名和不完整类型

    我可能已经超出了解决这个本应简单的问题的范围 我在这里开始这个问题 在编译时获取基类的类型 https stackoverflow com questions 17735852 getting type of a base class at
  • Modernizr 未将类应用于 html 标签

    我目前正在构建一个网站 我需要使用 Modernizr 但由于某种原因 它没有将类应用到 html 标签 因为它应该 我的代码如下所示
  • 如何创建和使用类箭头运算符? [复制]

    这个问题在这里已经有答案了 因此 在到处研究之后 我似乎找不到如何创建类箭头运算符 即 class Someclass operator gt 我只需要知道如何使用它并正确使用它 它的输入是什么 它返回什么 我如何正确地声明 原型化它 运算
  • Gridview 错误:对 Bind 的调用格式不正确

    我有以下 gridview 代码
  • C# 3.0 中自动属性和公共字段的区别

    我无法理解为什么 C 3 0 中存在自动实现的属性语言功能 当你说的时候有什么区别 public string FirstName than public string FirstName get set 因为它们在生成的 IL 代码 和机
  • char[length]初始化并处理

    我定义了一个字符数组 char d 6 如果我在以下方面有误 请纠正我 此时没有为变量分配内存d 现在我要初始化它 d aaaaa 这种初始化之后 就不需要释放内存了 它将自动完成 我怎么知道是否char 被初始化了吗 我正在寻找类似的模式
  • 如何使用 Ioc Unity 注入依赖属性

    我有以下课程 public interface IServiceA string MethodA1 public interface IServiceB string MethodB1 public class ServiceA IServ
  • 调试客户端时使用 Chrome/Firefox

    我正在使用带有 getUserMedia 的相机 但出现了一些需要修复的错误 问题是 Visual Studio 只允许我使用 IE 调试 JavaScript 我的意思是命中断点 而 IE 不支持 getUserMedia 如果您想在 I

随机推荐

  • 包测试的串行执行

    我已经为 Web API 实现了多个包 每个包都有自己的测试用例 当使用每个包进行测试时go test api pkgname测试通过 如果我想一次运行所有测试go test api 测试用例总是失败 在每个测试用例中 我使用以下命令重新创
  • 如何在 React 渲染函数中使用 ejs 变量?

    我正在传递一个变量abcd到我的index ejs 它又调用react js文件来渲染index ejs页面 我已经能够访问在index ejs中但不在react的渲染函数中 你能帮我吗 Thanks 我遇到了同样的问题 但是使用了一个由
  • 如何在休眠中使用 Between 子句比较日期

    我想获取两个时间戳之间的记录 我想要这个使用休眠 我尝试使用以下查询进行操作 但没有得到任何输出 HQL From AddressInfo address where address addressId newValues get pick
  • 为什么模数运算符在 C# 中对 double 不起作用?

    考虑一下 double x y x 120 0 y 0 05 double z x y 我尝试了这个 预计结果是 0 但结果是 0 04933333 However x 120 0 y 0 5 double z x y 确实给出了正确的结果
  • SQL不插入重复项

    我一直在寻找一种解决方案来最好地实现 如果该行已存在则不插入 我读过很多答案 它们在某种程度上有所不同 而且它有点高于我的水平 没有任何意义 例如 以下帖子是最佳结果 SQL Server 如果不存在则插入 https stackoverf
  • Angular Uncaught TypeError: e is not a constructor after build --prod (在 ngserve 上工作)

    我在将角度应用程序上传到生产环境时遇到问题 该应用程序在开发中运行良好 并且在生产之前也可以运行 为了构建我的应用程序 我正在使用 ng build prod base href site 应用程序已构建 但出现以下警告 WARNING i
  • 从 git 中提取文件名的 Bash 脚本发生了什么变化

    我正在尝试获取所有已更改的 js 文件的列表 以了解要重新缩小的内容 我之前问过this https stackoverflow com questions 9361496 save a modified log right before
  • 在R中使用fromJSON读取json文件时出错

    我在使用读取 json 文件时遇到问题jsonlite fromJSON 它显示错误消息如下 fromJSON file jsonfile names 1 中的错误 意外字符 N 这是一个问题NaNjson 文件中的值 如果我删除或更改所有
  • Django 模板的依赖文件放在哪里?

    我的 Django 模板使用了很多相关的东西 图像 样式表等 我应该把这些文件放在哪里 或者我应该如何在模板本身中引用它们 目前我正在使用开发服务器 我知道这是很常见的事情 但我无法真正弄清楚 我把它们放在一个名为的文件夹中static 位
  • 如何更改 Castor 映射以从 XML 输出中的元素中删除“xmlns:xsi”和“xsi:type”属性?

    如何更改 Castor 映射
  • Excel 公式优化

    我不是 Excel 专家 经过一些研究 我想出了这个公式来查看不同时间的两组相同数据 然后 它会显示最新数据列表中但不在旧列表中的新条目 这是我的公式 IF ROWS L 4 L8 lt SUMPRODUCT ISNA MATCH E 1
  • ViewModel 中的 INotifyPropertyChanged 与 DependencyProperty

    在模型 视图 视图模型架构 WPF 应用程序中实现 ViewModel 时 如何使其可数据绑定似乎有两个主要选择 我见过使用的实现DependencyProperty对于视图将要绑定的属性 我已经看到 ViewModel 实现INotify
  • 将参数传递给 jQuery“加载”

    我的页面上有一些脚本 divMenuHolder load menu html 不过 我还需要能够传递一些在 menu html 页面上起作用的参数 我尝试过以下方法 divMenuHolder load menu html opt1 te
  • 无需离开页面/网站即可提交外部表单

    我在网站上查找了这个问题的答案 但没有找到我需要的东西 这很接近 除了它实际上没有提交表单 防止表单重定向或提交时刷新 https stackoverflow com questions 1263852 prevent form redir
  • 全屏显示窗口

    如何在全屏播放电影时显示窗口而不退出电影播放器 的全屏模式 我只是想让窗口出现在电影的顶部 我知道这是可能的 因为雅虎信使每次显示皮尔逊已登录或退出时都会执行此操作 并且我确信还有其他程序也可以执行此操作 但我现在不记得了 它可以在 C C
  • Laravel - 使用外部请求时 POST 数据为空

    我是 Laravel 的新手 我正在尝试实现一个简单的 REST API 我已经实现了控制器 并通过单元测试进行了测试 我的问题是 POST 请求 通过测试 Input json 有数据 通过外部 REST 客户端返回 null 这是单元测
  • 使用m2e插件在eclipse中Maven项目依赖错误(适用于maven)

    我正在 eclipse 中使用 m2e 插件开发 java maven 项目 我更新了我的系统 我的jvm从icedtea bin 6 1 11 4更新到icedtea bin 6 1 11 5 Eclipse 现在在我的 pom 文件中输
  • 学习 UI 和网站设计设计 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么没有与unicode“箭头指向右侧然后向上弯曲”等效的向左指向?

    AFAICT 来自http unicode table com en sets arrows symbols http unicode table com en sets arrows symbols 没有与 unicode 等价的从左向上
  • 创建像 C# 属性一样的 javascript 属性

    是否可以在 javascript 对象上创建一个行为类似于 C 中的属性的属性 例子 我使用 dojo 创建了一个自动调整大小的文本区域小部件 为了从我的小部件中获取 value 属性 我连接了 onchange 事件 并且每次文本区域的值