2

我正在通过流利的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

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

4

2 回答 2

4

您可以使用原型向 String 类添加函数:

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

我认为您应该为您的功能调整代码,但这是想法。

于 2013-11-07T11:19:26.233 回答
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);

示例小提琴

于 2013-11-07T11:39:14.687 回答