在ecmascript中,所有不是原语的东西都是对象,因此函数也只是一个对象。这也是为什么您可以使用 this 关键字。 这在java中根本不是这样。请记住,java和javascript是非常不同的语言。另外,java必须编译,而ecmascript则不能。因此,即使您找到了一种方法并编写了一堆自定义代码来实现这一点,反编译时最终的结果也不会是一个精确的表示。
var e= function() {
a= 5;
b = 7;
console.log(a * b);};
console.log(e) // prints the function..interesting ,cant think of any great value tbh.
e(); // executes the function
2条答案
按热度按时间gdx19jrr1#
在ecmascript中,所有不是原语的东西都是对象,因此函数也只是一个对象。这也是为什么您可以使用
this
关键字。这在java中根本不是这样。请记住,java和javascript是非常不同的语言。另外,java必须编译,而ecmascript则不能。因此,即使您找到了一种方法并编写了一堆自定义代码来实现这一点,反编译时最终的结果也不会是一个精确的表示。
kh212irz2#
很有趣。在es6中,声明并分配给函数的函数可以稍后使用变量调用。
在java中,如果您想将一个方法分配给一个变量,可以通过多种方式使用FunctionInterface。即。功能,消费者,双消费者。
但是您将无法在这些变量中获得原始源代码语法。您必须解析字节码(.class文件)。如果你需要控制源代码。