Fed*_*ile 2 javascript methods properties object
我试图从碰巧是字符串的对象中提取所有属性和方法:var str = "Hello World!"
如果我使用命令,Object.getOwnPropertyNames(str)则会得到属性和方法的列表:["0", "1", "2", "3", "length"]。但是我知道还有其他类似的方法.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>
Run Code Online (Sandbox Code Playgroud)
因为您列出的属性(indexOf,...)并不是字符串对象本身的一部分,而是其原型的一部分:
Object.getOwnPropertyNames(
Object.getPrototypeOf("str")
)
Run Code Online (Sandbox Code Playgroud)