我是javascript编程的新手,只是想了解更多关于函数的知识,并且对jquery这样的javascript库着迷,我对它是如何制作感到好奇,我也注意到所有的预函数如ajax接受参数,类型或方法如下。
$.ajax({
type: 'POST',
url : 'test.php',
data : XXX
})
我的问题是它如何处理这个参数?或如何构建类似上面的功能。
答案 0 :(得分:3)
它只是一个存储在变量$
中的对象,其属性为ajax
,这是一个函数,它将object
作为参数:
var $ = {
ajax: function(params) {
console.log(params.type, params.url, params.data);
}
}
$.ajax({
type: 'POST',
url : 'test.php',
data : { test: 'data' }
})
答案 1 :(得分:2)
这是一个“普通”函数,您传递的参数是一个对象。所以你可以建立一个这样的函数:
var myFunction = function(options) {
console.log(options.one);
console.log(options.two);
};
var someObject = {
one: 'one',
two: 'two'
};
myFunction(someObject);
// which is the same as
myFunction({one: 'blubb', two: 'blubb two'});
所以现在问题可能是有人在没有设置选项的情况下使用该功能,因此如果没有设置选项就可以设置默认值
var myFunction = function(options) {
var options = options || {};
options.one = options.one || 'hello';
options.two = options.two || 'world';
console.log(options.one);
console.log(options.two);
};
myFunction();