如何在字符串jQuery上调用函数

时间:2013-11-07 11:15:59

标签: javascript jquery string parameter-passing

我正在通过流利的api阅读,我有一个疑问。

我想接受一个字符串,在该字符串上调用jQuery函数或示例

功能

function compareThis(newString) {
    function compare(newString) {
        if (this == newString) {
            alert("same string");
        } else {
            alert("differnt string");
        }
    }
}

它被称为

("alerting").compareThis("alerted").compare();  //alert 'different string'

我希望将数据/字符串作为参数传递,而不是作为调用传递。

JSFiddle

注意:我想在类似的情况下调用该函数,如查找日期间隔等

2 个答案:

答案 0 :(得分:4)

您可以使用prototype将函数添加到String类:

String.prototype.compare = function(newString){
    if (this == newString) {
       alert("same string");
    } else {
        alert("differnt string");
    }
};

我认为你应该为你的功能调整代码,但这是主意。

答案 1 :(得分:1)

也许我错过了解释,但看起来你需要一种方法链接来比较字符串。为此,您可以创建一个变量并在其中创建函数。

var compare = (function(){

    var thisString;
    var stringToCompare;

    var create = function(sVal) {
        thisString = sVal;
        return this;
    };

    // Public
    var compareThis = function(sVal) {
        stringToCompare = sVal;
        return this;
    };

    var compare = function(anotherString) {
        return thisString == stringToCompare;
    };

    return {
        create: create,
        compareThis: compareThis,
        compare: compare
    };

}());

var b = compare.create('test').compareThis('test').compare();
alert(b);

示例fiddle