简体   繁体   中英

How to call a function on string jQuery

I was reading through fluent api I got a doubt.

I want to take in a string upon which a jQuery function or example is called upon

Function

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

Where it is called as

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

I want to pass the data/string not as parameter but as called upon.

JSFiddle

Note: I would like to call the function in similar cases like finding date interval etc

You can use prototype to add function to String class:

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

I think you should adapt the code for your function, but it's the idea.

Maybe I missed interpreted however, it looks as it you required a form of method chaining to compare string. To do this you can create a variable and create functions inside it.

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);

Example fiddle

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM