在Javascript中键入方法

时间:2013-02-17 17:34:07

标签: javascript

我在各种JS代码中遇到下面的语句,其中第一个函数让我们说“test”之后被声明如下所述:

输入:“test”

请解释这句话在“test”是一个函数名称时的含义。

以下示例代码:

var MyFavoritesAjax = Class.create();
MyFavoritesAjax.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    ajaxFunction_getFavorites : function() {

        var result = this.newItem("result");

        result.setAttribute("message", "returning all favorites");

        this._addFavorite("color", "blue");
        this._addFavorite("beer", "lager");
        this._addFavorite("pet", "dog");

    },

    _addFavorite : function(name, value) {
        var favs = this.newItem("favorite");
        favs.setAttribute("name", name);
        favs.setAttribute("value", value);
    },

    type : "MyFavoritesAjax"

});

2 个答案:

答案 0 :(得分:0)

根据您发布的内容,您有一个label statement(标签为type),其中包含一个由statement "test"组成的简单表达式string literal。您可以(并且应该)在它之后添加分号。然而,

type: "text";

没有多大意义,它在执行时也没有任何影响,也没有标签识别循环。


啊,你的代码示例对此有了更多的了解。正如预期的那样,您有object literal传递给Object.extendsObject函数:

{
    type : "MyFavoritesAjax"
}

此处,“type”是属性名称,"MyFavoritesAjax"字符串是属性值。这个函数对它的作用以及它在该上下文中的意味着什么应该用该函数记录。我不知道,它不是原生的。

答案 1 :(得分:0)

现在你已经展示了其余的代码:

type : "MyFavoritesAjax"

是传递给Object.extendsObject()的对象的属性声明。它在名为"type"的对象上创建一个属性,并为其赋值"MyFavoritesAjax"

这与同一个对象ajaxFunction_getFavorites_addFavorite上的其他属性类似,但它们将函数引用作为其值而不是字符串。