大家都知道java是强类型语言,而js是弱类型语言,其实,它们之间的区别不止这一点,还有方法参数及调用问题,参看下例:
js中:这里定义了一个query()方法
function query() {
var blacklistNumber=$(‘#blacklistNumber‘).val();
var blacklistName=$(‘#blacklistName‘).val();
var blacklistSex = $(‘#blacklistSex‘).val();
queryObj.blacklistNumber = blacklistNumber;
queryObj.blacklistName = blacklistName;
queryObj.blacklistSex = blacklistSex;
var params = JSON.stringify(queryObj);
var param = encodeURIComponent(params);
tab.load({
pageNumber: 1,
type : ‘POST‘,
data: ‘param=‘+param+‘¶ms=‘+Math.random(),
success: function(){}
});
}
但是在下面其他地方调用时,却使用了query(1),令人匪夷所思的是却也正常的进入到了query()方法中,因为我们若按java方法中显示的调用函数时,应该是方法签名相同的,及方法名称和方法参数应该保持一致,原来,js方法中不存在方法重载,如上例子,若紧接着又依次定义了几个方法名同为query的方法,例如query(a, b),query(c,d,f)的,那么默认最后自行query(1)也只能调用query(c,d,f)。。。