我是 Javascript
新手。我之前上过一门类(class),我试图记住一个概念,即所有函数都是包含一个属性的对象,该属性将包含在该函数内编写的代码并且另一个包含函数名称的属性。
我尝试过,发现 name 属性如下所示。但无法找到代码属性。这真的存在吗,或者我可能是错的。
console.log(
(function f() {
a = 1
}.name)
)
所以该属性应该返回
a=1
没有尝试做任何事情。我正在温习我的 JS,因为我想学习 Angular。
最佳答案
but not able to find the code property. Does that really exist or I may be wrong.
它在概念上存在,但它是一个内部属性,无法从用户代码访问。它称为[[ECMAScriptCode]]
。请参阅spec了解更多详情。
但实际上,浏览器可以以任何他们想要的方式实现功能,只要它们的行为符合规范中描述的即可。
<小时/>您可以在用户代码中执行的操作是调用函数的 toString
method 。这将返回函数本身的字符串表示形式,尽管确切的表示形式取决于实现。
关于包含其代码的 Javascript 函数的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36441648/