JavascriptEngine 的 Javascript Array .length 属性/方法

标签 javascript arrays

我只是好奇浏览器是如何直接完成此操作的。我听说 Javascript 引擎中数组的 .length 属性实际上使用不可见的 setter 和 getter 来实现 ECMA-s 标准的功能,即:“每当长度属性更改时,名称为数组索引的每个属性的值不小于比新长度自动删除”)。我知道在这种情况下需要 setter,但是 getter 又如何呢?我们真的需要调用原生 getter 来获取这个值吗?或者这只是理解 Javascript 引擎的一些错误?

最佳答案

属性可以作为字段实现,也可以作为 setter/getter 方法实现。

如果它是一个字段,那么它只是一个值,设置该值时,除了值发生变化之外,不会发生任何其他事情。

如果您有一个 setter 方法,以便在设置值时执行更多操作,那么您也有一个与之匹配的 getter 方法,即使该 getter 方法除了返回值之外什么也不做。您不想混合实现属性的两种方法,只是朝任一方向一直使用要简单得多。

关于JavascriptEngine 的 Javascript Array .length 属性/方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/614279/

相关文章:

C# Get 访问器不可访问

javascript - 对象数组格式错误

javascript - 如何使用多个 css 和 js 文件创建 chrome 扩展?

javascript - 当我悬停另一个时,jQuery 只显示一个 div

javascript - 捆绑配置未反射(reflect)添加的引用

javascript - 我们可以在blueprintjs中添加双击表行吗

javascript - 如何在 Angular 中将标签与其外部的表单字段关联起来?

PHP 计算平衡数组

java - 无法修复 java.lang.ArrayIndexOutOfBoundsException

arrays - Swift 数组到 Realm 的结果