JavaScript中的函数重载深入理解
作者:bea
在JavaScript中有一种特殊的数据类型---Function类型,JavaScript的每个函数都是Function类型的实例。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。 <pre name="code" class="html">function sum(num1,num2) { return num1 +num2; } alert(sum(10,10)); //20 var other = sum; alert(
在JavaScript中有一种特殊的数据类型---Function类型,JavaScript的每个函数都是Function类型的实例。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。
<pre name="code" class="html">function sum(num1,num2)
{
return num1 +num2;
}
alert(sum(10,10)); //20
var other = sum;
alert(other(10,10)); //20
sum = null;
alert(other(10,10)); //20
将函数名作为指向函数的指针,有助于理解为什么ECMAScript中没有函数重载的概念
function sum(num1)
{
return num1 +100;
}
function sum(num1)
{
return num1 +200;
}
alert(sum(200)); //400
虽然声明了两个同名函数,但是后面的函数覆盖了前面的函数,以上等价于下面的代码
function sum(num1)
{
return num1 +100;
}
sum = function(num1)
{
return num1 +200;
}
alert(sum(200)); //400
在创建第二个函数时,实际上覆盖了引用的第一个函数变量sum
猜你喜欢
您可能感兴趣的文章:
- 兼容最新firefox、chrome和IE的javascript图片预览实现代码
- js调试工具console.log()方法查看js代码的执行情况
- JS创建类和对象的两种不同方式
- 将HTML格式的String转化为HTMLElement的实现方法
- jquery datatable后台封装数据示例代码
- jquery对象和javascript对象即DOM对象相互转换
- js判断当页面无法回退时关闭网页否则就history.go(-1)
- js和jquery设置disabled属性为true使按钮失效
- javascript中为某个元素指定事件的三种方式
- 谷歌地图打不开的解决办法
- JavaScript验证18位身份证号码最后一位正确性的实现代码
- jquery bind(click)传参让列表中每行绑定一个事件
- jQuery html()方法使用不了无法显示内容的问题
- JQuery设置获取下拉菜单某个选项的值(比较全)
- js触发select onchange事件的小技巧
- jquery中each遍历对象和数组示例
- js 动态修改css文件的方法
- JS实现关键字搜索时的相关下拉字段效果
- js实现点击后将文字或图片复制到剪贴板的方法