0

我知道这个问题有点令人困惑,但这就是想法:

我正在用 JavaScript 做一个库,并试图复制一些 jQuery 的风格。我有一个将接收 3 个参数的函数,我想像 jQuery 中的 AJAX 那样做。

例子:

我希望我的功能看起来像这样

$.ajax({
url: "url",
dataType: post,
etc etc
});

但是用我的代码:

Stone.ValidateNumber({
InputElementId: "Some Input's ID",
MessageDestiny:  "Other html element's ID"
TrueResults: "#333",    //if the validation is true
FalseRetuls: "RED",    //if the validation is false(I dont know if this could work or could be a function, but i dont know, and thats why i came here)

})

注意:这只是一个例子。我想知道这样做。

4

3 回答 3

3

jQuery 所做的是拥有一个对象参数。

例子:

Stone.ValidateNumber = function( params ) {
   alert( "InputElementId = " params.InputElementId );
   alert( "TrueResults= " params.TrueResults );
   alert( "FalseRetuls= " params.FalseRetuls );


}

这是实现ajax风格的一种方法:

var $ = {}; //$ equal to new object
$.ajax = function(options) {
   alert( options.data );
}
$.get = function( options ) {
   this.ajax( { data : 'hello', url: 'http://www.google.com' } );
}
于 2013-02-28T15:07:07.043 回答
1

像这样的东西:

ValidateNumber(myDict) {
    input = myDict["InputElementId"];
    t_results = myDict["TrueResults"];
    f_results = myDict["FalseResults"];

    // Process data
}
于 2013-02-28T15:07:04.067 回答
0

像这样的东西?

Stone.ValidateNumber = function(first){

if (Object.keys(first).length) == 1)
{
    //make sure that all elements are defined (typeof != 'undefined')
 if (first.InputElementId == 'valid_rule')
     return first.TrueResults;
  else
     return first.FalseRetuls;
}
于 2013-02-28T15:09:14.747 回答