javascript和jquery中的方法和函数重载
method and function overloads in javascript and jquery
我可以在java-script和JQuery中使用方法和函数重载吗?如果可能的话,这意味着如何做到这一点。
我已经开发了以下代码,但我认为这是错误的,我的错误是什么我不知道,请澄清
function isnull(txtid, errid, err) {
if (trimString(get(txtid).value) == '') {
return false;
}
return true;
}
function isnull(txtid) {
if (trimString(get(txtid).value) == '') {
return false;
}
return true;
}
所有的时间函数只调用第二个,如果有任何想法做这个
在JavaScript中没有真正的函数重载,因为JavaScript没有对参数进行类型检查或所需的参数数量,您可以只使用isnull
的一个实现,它可以通过检查参数的类型,存在或数量来适应传递给它的参数。
使用形参进行函数重载的最佳方法是不检查实参长度或类型;检查类型只会让你的代码变慢,让你享受数组、空值、对象等的乐趣。
大多数开发人员所做的是将对象作为方法的最后一个参数。这个物体可以装任何东西。
function foo(a, b, opts) {
}
foo(1, 2, {"method":"add"});
foo(3, 4, {"test":"equals", "bar":"tree"});
然后你可以在你的方法中处理它。[Switch, if-else等]
重载的技巧是这样的:
function over_load(object, name, args) {
var prev = object[name];
object[name] = function(){
if (args.length == arguments.length)
return fn.apply(this, arguments);
else if (typeof prev == 'function')
return prev.apply(this, arguments);
else throw "Wrong number of args";
};
}
但是根据答案函数重载在Javascript -最佳实践,检查参数长度使它变慢,所以有一个更好的方法来实现重载,即通过传递一个对象。
相关文章:
- 重载像$(document).ready这样的函数是错误的
- 在JavaScript中重载函数
- 重载构造函数
- javascript中的函数重载使两个函数名称相同,但输入数字不同
- 如何为具有重载构造函数的类的对象发布 Json 对象
- Date 的构造函数如何重载一元 +
- Angular JS ng表错误TypeError:newParams重载不是一个函数,并且达到了10次摘要迭代,ABo
- 如何在JavaScript中重写重载函数的一部分
- JavaScript图像构造函数重载
- 当页面请求和重载javascript函数不起作用时
- 了解此 JavaScript 函数重载示例
- javascript中潜在的函数重载:命名问题
- Javascript 中的函数重载
- javascript和jquery中的方法和函数重载
- Jquery函数重载
- 你会使用“冒牌”吗?JavaScript中的函数重载
- 难以理解函数重载
- getElementById函数重载
- 实现函数重载
- JavaScript 函数重载操作详细信息