javascript 事件 顺序-JavaScript

2023-09-05 0 4,328 百度已收录

为...在

for...in 语句以任意顺序迭代对象的非乘性属性,包括继承的可枚举属性

for (variable in object)
  statement

多变的

在每次迭代中,变量将使用不同的属性名称进行参数化。

目的

迭代其非 Symbol 类型的可枚举属性的对象

注意:for...in 不应该用于迭代索引顺序。

如果只想考虑对象本身的属性,而不是它的原型,可以使用或perform来判断一个属性是否是对象本身的属性(也可以使用)。 或者,如果您知道不会有任何外部代码干扰,您可以使用检测来增强外部原型

for...in 是为了遍历对象属性而建立的。 不建议与链表一起使用。 链表可以使用 Array.prototype.forEach() 和 for...of。 那么 for...in 的用途是什么? ?

它最常用的地方应该是用于调试,可以更方便地检测对象属性(通过输出到控制台或其他形式)。 虽然链表对于处理存储的数据比较实用,但是当你在处理键值数据(比如用作“键”的属性)并且需要检测其中的任意一个键是否是某个值时javascript 事件 顺序,仍然建议使用为..in.

下面的函数接受一个对象作为参数。 调用时迭代传递对象的所有可枚举属性后,返回所有属性名称及其对应值的字符串。

js

var obj = { a: 1, b: 2, c: 3 };
for (var prop in obj) {
  console.log("obj." + prop + " = " + obj[prop]);
}
// Output:
// "obj.a = 1"
// "obj.b = 2"
// "obj.c = 3"

以下函数说明了其用法: 不显示继承的属性。

js

var triangle = { a: 1, b: 2, c: 3 };
function ColoredTriangle() {
  this.color = "red";
}
ColoredTriangle.prototype = triangle;
var obj = new ColoredTriangle();
for (var prop in obj) {
  if (obj.hasOwnProperty(prop)) {
    console.log(`obj.${prop} = ${obj[prop]}`);
  }
}
// Output:
// "obj.color = red"

规格

BCD 表仅在浏览器中加载

在 SpiderMonkey 40 之前,可以在 for...in 循环中使用初始化表达式 (i=0):

js

var obj = {a: 1, b: 2, c: 3};
for (var i = 0 in obj) {
  console.log(obj[i]);
}
// 1
// 2
// 3

这种非标准行为现在在版本 40 及更高版本中被忽略javascript 事件 顺序,并且在严格模式下会出现 ("") 错误(Firefoxbug748550 和 Firefoxbug1164741)。

与其他引擎一样,V8 (Chrome)、Chakra (IE/Edge)、JSC (WebKit/Safari) 正在努力消除这些非标准行为。

发现此页面有内容问题?想要更多参与吗?了解如何做出贡献。

此页面的最后修改时间为 2023 年 8 月 30 日。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript javascript 事件 顺序-JavaScript https://www.wkzy.net/game/195303.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务