【问题标题】:how to call the functions that are object members?如何调用作为对象成员的函数?
【发布时间】:2017-12-29 01:41:35
【问题描述】:

我想调用作为对象属性的函数。例如考虑代码

var obj={
  a:"One",
  b:"two",
  c:'three',
  d:function f(){
    console.log("Hello World");
  }
}

我想调用函数 f。我该怎么做? 我试图用谷歌搜索,但我无法在任何地方找到它,也许我的问题措辞错误。

【问题讨论】:

    标签: javascript node.js object


    【解决方案1】:

    只需调用保存该功能的键即可。

    obj.d();

    var obj = {
      a: "One",
      b: "two",
      c: 'three',
      d: function f() {
        console.log("Hello World");
      }
    }
    
    obj.d();

    【讨论】:

      【解决方案2】:

      举个例子

      var fun=function(){
          console.log("Hello");
      }
      

      我们可以通过fun()调用函数 在你的例子中

      var obj={
        a:"One",
        b:"two",
        c:'three',
        d:function f(){
          console.log("Hello World");
        }
      }  
      

      您可以使用 d() 来调用该函数。但是由于它是对象 obj 的成员。我们只能通过引用obj来访问它。所以我们可以使用

      obj.d()
      

      (obj.d)() 
      

      或者,您可以将其分配给另一个变量。

      var fu=obj.d;
      fu();
      

      【讨论】:

      • 注意代码不会导致语法错误,因为它是js中的特定语法:命名函数表达式。名称f 仅在obj.d 内部有效,并且可以使用f() 简单地调用。它是一个局部变量,不存在于函数之外。创建此语法是为了允许匿名函数实现递归,因为 arguments.callee 正在被弃用。
      【解决方案3】:

      您可以使用.(dot) 表示法从对象中获取任何值。因为 d 有函数 f 你使用 obj.d() 调用

      var obj={
        a:"One",
        b:"two",
        c:'three',
        d:function f(){
          console.log("Hello World");
        }
      }
      
      obj.d();

      【讨论】:

        猜你喜欢
        • 2023-03-27
        • 1970-01-01
        • 2012-01-02
        • 2015-01-07
        • 2010-12-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多