是";函数调用后的括号;JavaScript的正确/合法使用?

是";函数调用后的括号;JavaScript的正确/合法使用?,javascript,inheritance,parentheses,Javascript,Inheritance,Parentheses,可能重复: 我正在查看一个名为的库,它使JavaScript对象以与Ruby类似的方式继承。但我无法真正了解的是JavaScript在提供的示例中的使用方式: def ("Person") ({ init: function(name){ this.name = name; }, speak: function(text){ alert(text || "Hi, my name is " + this.name); } });

可能重复:

我正在查看一个名为的库,它使JavaScript对象以与Ruby类似的方式继承。但我无法真正了解的是JavaScript在提供的示例中的使用方式:

def ("Person") ({
    init: function(name){
        this.name = name;
    },

    speak: function(text){
        alert(text || "Hi, my name is " + this.name);
    }
});

def ("Ninja") << Person ({
    init: function(name){
        this._super();
    },

    kick: function(){
        this.speak("I kick u!");
    }
});

var ninjy = new Ninja("JDD");

ninjy.speak();
ninjy.kick();
def(“人”)({
init:函数(名称){
this.name=名称;
},
发言:功能(文本){
警报(文本| |“嗨,我的名字是”+this.name);
}
});
def(“忍者”)
基本上是链式函数调用。这意味着:

  • 将字符串
    “Person”
    传递给函数调用
    def()
  • def()
    返回一个可以调用的函数
  • 将对象
    {…}
    作为参数传递给
    def()
    返回的函数
  • 不确定
    
    
    def("Person")({...});