gpt4 book ai didi

javascript - 为什么 Object.getOwnPropertyNames() 不列出所有属性和方法?

转载 作者:行者123 更新时间:2023-12-02 20:25:37 25 4
gpt4 key购买 nike

我试图从一个恰好是字符串的对象中提取所有属性和方法:var str = "Hello World!"

如果我使用命令Object.getOwnPropertyNames(str),我会得到属性和方法的列表:["0", "1", "2", "3", “长度”]。但是我知道还有其他方法,例如 .toUpperCase() 属于字符串对象,但未列出。

我的问题:为什么没有列出方法.toUpperCase()?我该怎么做才能将其与许多其他内容一起列出(.indexOf()...)?

这是代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Display properties and methods from objects</title>
</head>
<body>
<script type="text/javascript">
var str= 'Hello World!'
var listPropertiesMethods = Object.getOwnPropertyNames(str)
console.log(listPropertiesMethods);
</script>
</body>
</html>

最佳答案

因为您列出的属性(indexOf,...)不是字符串对象本身的一部分,而是其原型(prototype)的一部分:

Object.getOwnPropertyNames(
Object.getPrototypeOf("str")
)

关于javascript - 为什么 Object.getOwnPropertyNames() 不列出所有属性和方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48114047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com