JavaScript不支持函数重载
2014-02-27 20:05
239 查看
在学习JavaScript的过程中发现一个很有趣的问题:初学者刚开始学习的时候觉得Javascript和Java很相近,除了Javascript是弱类型语言外;但是有趣的是Javascript并不支持函数的重载,如果像Java那样写出函数重载Javascript并不会报错,这就是有趣的地方了---不支持但又不算错误。那么对于同名的函数,当调用时只是简单的调用最后一个函数,就像是最后的一个函数把前面的同名函数全部覆盖掉了。可以看一个例子:
function test(a, b, c){ return a+b+c; } function test(a, b){ return a+b; } function test(){ return "Hello world"; } window.alert(test(1,2,3)); window.alert(test(1,2)); window.alert(test());三个对函数的调用都是调用了最后一个test()函数,弹出“Hello world”。。。其实我觉得本来Javascript的函数都是支持可变参数个数,而且又是弱类型语言,从这两点来看是不会支持函数重载的。
相关文章推荐
- 让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
- 让JavaScript 轻松支持函数重载 (Part 1 - 设计)
- 让 JavaScript 轻松支持函数重载 (Part 1 - 设计)
- 让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
- 让JavaScript 轻松支持函数重载Part 1 - 设计
- 让 JavaScript 轻松支持函数重载 Part 2 - 实现
- 让 JavaScript 轻松支持函数重载 (Part 1 - 设计)
- 让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
- 让JavaScript 轻松支持函数重载 (Part 1 - 设计)
- 让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
- javascript不支持函数重载,以及使用constructor来可以判断类型
- 让 JavaScript 轻松支持函数重载 (Part 1 - 设计)
- JavaScript中实现函数重载和参数默认值
- javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
- javascript中IE浏览器不支持NEW DATE()带参数的解决方法
- javascript中IE浏览器不支持NEW DATE()带参数的解决方法
- javascript让firefox支持innerText
- java ScriptEngine 使用 (支持JavaScript脚本,eval()函数等)
- 一个用javascript写的select支持上下键、首字母筛选以及回车取值的功能
- JavaScript实现二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式,支持到N级,非常通用。