Javascript函数';包含其代码的属性

Javascript函数';包含其代码的属性,javascript,function,Javascript,Function,我不熟悉Javascript。我以前上过一门课,我试图记住一个概念,即所有函数都是包含属性的对象,该属性将包含在该函数中编写的代码和另一个包含函数名称的属性 我试过了,发现名称属性如下。但无法找到代码属性。这真的存在吗?否则我可能错了 console.log( (职能f(){ a=1 }(姓名) ) 但无法找到代码属性。这真的存在吗?否则我可能错了 它在概念上存在,但它是一个内部属性,不能从用户代码访问。它被称为[[ECMAScriptCode]]。有关更多详细信息,请参阅 但实际上,浏览器可

我不熟悉
Javascript
。我以前上过一门课,我试图记住一个概念,即所有函数都是包含属性的对象,该属性将包含在该函数中编写的代码和另一个包含函数名称的属性

我试过了,发现名称属性如下。但无法找到代码属性。这真的存在吗?否则我可能错了

console.log(
(职能f(){
a=1
}(姓名)
)
但无法找到代码属性。这真的存在吗?否则我可能错了

它在概念上存在,但它是一个内部属性,不能从用户代码访问。它被称为
[[ECMAScriptCode]]
。有关更多详细信息,请参阅

但实际上,浏览器可以以任何方式实现功能,只要它们的行为符合规范中的描述


在用户代码中可以做的是调用函数的。这将返回函数本身的字符串表示形式,尽管确切的表示形式取决于实现

但无法找到代码属性。这真的存在吗?否则我可能错了

它在概念上存在,但它是一个内部属性,不能从用户代码访问。它被称为
[[ECMAScriptCode]]
。有关更多详细信息,请参阅

但实际上,浏览器可以以任何方式实现功能,只要它们的行为符合规范中的描述



在用户代码中可以做的是调用函数的。这将返回函数本身的字符串表示形式,尽管确切的表示形式取决于实现。

尝试
f.toString()
其中
f
是您希望获取其源代码的函数。

尝试
f.toString()
其中
f
是您希望获取其源代码的函数。

我相信您正在寻找以下内容:

function f(){
    console.log("a = 1");
};

console.log(f.toSource());
console.log(f.toString());

.toSource不是标准功能。从MDN:

此功能是非标准的,不在标准轨道上。不要 在面向Web的生产站点上使用它:它不会适用于所有站点 用户。两者之间也可能存在很大的不兼容性 实现和行为在将来可能会发生变化

function.tostring()似乎是一个更好的选择,这是一个标准功能。更多信息请参见:


我相信您正在寻找以下产品:

function f(){
    console.log("a = 1");
};

console.log(f.toSource());
console.log(f.toString());

.toSource不是标准功能。从MDN:

此功能是非标准的,不在标准轨道上。不要 在面向Web的生产站点上使用它:它不会适用于所有站点 用户。两者之间也可能存在很大的不兼容性 实现和行为在将来可能会发生变化

function.tostring()似乎是一个更好的选择,这是一个标准功能。更多信息请参见:


以下是在函数对象原型上找到的键列表。可能您需要的是:您正在尝试类似于
({a:1})的东西。a
?下面是在函数对象原型上找到的键列表。可能您需要的是:您正在尝试类似于
({a:1})的东西。a
?感谢到规范的伟大链接!感谢伟大的链接到规范!Yes tosource似乎仅适用于gecko发动机Yes tosource似乎仅适用于gecko发动机