当前位置: 首页 > 面试题库 >

没有“ function”关键字的情况下,此对象方法定义如何工作?

戚森
2023-03-14
问题内容

我是通过不小心遗漏了function关键字发现了这一点。通常foobar,以下模块中的方法将声明为foobar: function(arg1),但有趣的是,至少在某些浏览器中,以下工作有效,例如Chrome版本44.0.2403.157 m,但在IE
11.0.9600.17959中失败

这怎么可能在任何浏览器中都运行?这是某种新的ES6功能吗?

var module = {
    foobar(arg1) {
        alert(arg1);
    }
};

module.foobar("Hello World");

问题答案:

这怎么可能在任何浏览器中都运行?是某种新的ES6功能吗?

方法定义

对象的属性也可以引用函数或getter或setter方法。

var o = {
  property: function ([parameters]) {},
  get property() {},
  set property(value) {},
};

在ECMAScript 6中,可以使用速记符号,因此不再需要关键字“功能”。

// Shorthand method names (ES6)
var o = {
  property([parameters]) {},
  get property() {},
  set property(value) {},
  * generator() {}
};



 类似资料:
  • 在Collectors.groupingBy(学生::getGrade,…);使用getGrade()方法时不使用新关键字。方法getGrade不是静态方法。没有新的 Lamda格式 在学生类中,getLevel方法不是静态方法。

  • 我已经挣扎了几天了。我对Spring Boot还是个新手,喜欢不使用XML配置的想法。 我创建了一个RESTfull应用程序(使用JSON)。我正在按照本教程正确配置身份验证。 可以使用 元素上的entry-point-ref属性设置AuthenticationEntryPoint。 没有提到任何关于如何使用Java配置来实现它的内容。 那么如何在不使用XML的情况下“注册”自己的以防止在使用Fo

  • 问题内容: 我在Go中创建了Direct3D9包装器,该包装器使用CGo与C中的COM对象进行接口。 我想摆脱Windows下对C编译器的依赖,因此用户不必安装MinGW或Cygwin即可使用Go中的DirectX。 问题在于d3d9.dll不会公开C函数,而是使用COM。加载DLL(带有)后,可以直接调用的唯一函数是。这将返回一个COM对象,该对象将所有功能公开为方法。 如何在没有CGo的纯Go

  • 我有一个带有私有方法的类,该方法调用一些外部类并执行它,如果不使用powermock,我如何防止这种情况发生?(该项目使用Junit5,目前还不支持powermock)。 我考虑过将这些函数移到外面,但我觉得有时方法确实属于特定的类,因为它们是它的一部分,将它们移出对我来说没有意义,下面只是一个例子来说明。 我已经知道大多数人会说不要测试私有方法,但a.我不完全同意,b.我不想在这里测试这个方法,

  • 我是计算机科学专业的二年级学生,我写了一个程序,它连接到一个IRC客户端,嗅探等待用户问“推特是关于什么的?” 该程序嗅探关键字“推特”,然后运行一个方法,使用整个输入行查找推特句柄。 问题是,如果我在编译之前知道关键字是什么,我就知道如何查找关键字,但在这种情况下,关键字可能是任何twitter句柄,所以我不确定搜索它的最佳方法是什么。 我尝试了以下方法:inputLine。子字符串(i 1,i

  • 问题内容: 有人建议可以怎一个JAVA程序运行不写一个主要方法.. 例如: 不使用类中的公共静态void main(String arg []),如何在控制台上打印以上行。 问题答案: 直到JDK6,您都可以使用静态初始化程序块来打印消息。这样,一旦您的班级被加载,消息就会被打印出来。然后,技巧就变成了使用另一个程序来加载您的类。 当然,您可以按如下方式运行程序,您将看到消息;但是,该命令也会失败