【发布时间】:2011-09-21 19:19:36
【问题描述】:
我正在尝试调用具有相同签名的函数。
示例:有两个同名函数:
<script>
var obj1,obj2,obj3,obj4,obj5;
function OpenBox(obj1,obj2){
// code
}
function OpenBox(obj1,obj2,obj3,obj4,obj5){
// code
}
</script>
当我在链接的点击事件上调用函数时
<a id='hlnk1' href='#' onclick='OpenBox(this,\"abhishek\"); return false;'> Open Box </a>
当我点击上面的链接时,它正在调用函数 OpenBox(obj1,obj2,obj3,obj4,obj5){}
应该是调用函数OpenBox(obj1,obj2){}代替。
函数出了什么问题?
【问题讨论】:
-
'OpenBox(this,\"abhishek\") return false;'应该是'OpenBox(this,"abhishek") return false;' -
阅读这个问题的答案:stackoverflow.com/questions/456177/…
-
@lbu - 转义引号,虽然在这种情况下没有必要,但实际上并没有伤害它吗?我会更担心右括号和返回之间没有分号。
-
我只想指出,作为搜索的一部分阅读此问题的人们 Abhishek 所描述的称为方法重载,不是多态性。多态性是遵守特定接口或契约的能力。 Javascript 是一种鸭式语言,具有隐含的多态性。
-
@Randolpho 感谢您的描述。
标签: javascript oop dom-events