1

下面是我用来在整个程序中创建范围对象的代码

function parseRangeString(id, range) {
    var myRangeString = range;
    var myRangeStringArray = myRangeString.split(/[\s]+/);
    var myMax;
    var myMin;
    var myMinOp;
    var myMaxOp;
    var myMaxInc = false;
    var myMinInc = false;
    var op1;
    var op2;
    var cons1;
    var cons2;
    op1 = myRangeStringArray[0];
    cons1 = parseFloat(myRangeStringArray[1]);
    if (myRangeStringArray[2] != null) {
        op2 = myRangeStringArray[3];
        cons2 = parseFloat(myRangeStringArray[4]);
    }
    if (cons1 < cons2) {
        myMin = cons1;
        myMinOp = op1;
        myMax = cons2;
        myMaxOp = op2;
    } else {
        myMin = cons2;
        myMinOp = op2;
        myMax = cons1;
        myMaxop = op1;
    }
    if (myMaxOp.indexOf('=') != -1) {
        myMaxInc = true;
    }
    if (myMinOp.indexOf('=') != -1) {
        myMinInc = true;
    }
    firstRange = new Range(id, myMin, myMax, myMinInc, myMaxInc); //gives back a range object
    return firstRange;
}

现在我需要创建另一个将范围对象转换为字符串的函数,因为我被困在 atm 中,所以需要尽快帮助!

4

2 回答 2

2

您可以覆盖toStringjavascript 对象上的标准函数,以使它们返回您想要的任何内容。考虑这个例子(演示):

var a = { some_property:'this could be coming from the user' }; // create a new object
a.toString = function(){
    // in here, the "this" will point to the object in "a" variable. (well, at least mot of the times)
    return this.some_property;
};
console.log(''+a); // force the object to string

如果你创建很多这样的对象,考虑使用prototype它们中的一个来放置toString函数,效率会更高,MDN 有很好的例子

于 2012-08-02T11:21:29.807 回答
-1

好吧,我想我每天都会给出相同的答案。:)

JSON.stringify( range );
于 2012-08-02T11:21:00.547 回答