function hello(){
console.log('Goodbye');
}
是一个对象。 js中的几乎所有东西都是对象。我们有name
属性及其hello
,但code
属性呢?我该如何访问?另外,我有{}
内的代码或上面的全部内容吗?
答案 0 :(得分:2)
另外,我有{}内的代码或上面的全部内容吗?
对于您的方法,请使用toString
hello.toString()
<强>演示强>
function hello(){
console.log('Goodbye');
}
console.log(hello.toString());
&#13;
如果您只想访问{
和}
之间的代码,那么(假设它不是箭头函数)
var code = hello.toString();
code = code.substring( code.indexOf( "{" ) + 1 ); //remove code before first {
code = code.substring( 0, code.lastIndexOf( "}" ) - 1 ); //remove code from last }
如果是箭头功能,那么
var hello = () => console.log('Goodbye');
var code = hello.toString();
code = code.substring( code.indexOf( "=>" ) + 2 ); //get the string after =>
答案 1 :(得分:1)
函数的代码不在公共可访问的属性中。它存储在内部[[Code]]
属性中,如Creating Function Objects中所述。
函数的toString()
方法将整个函数定义作为字符串返回。