当前位置:
首页 >
前端技术
> javascript
>内容正文
javascript
JavaScript No Overloading 函数无重载之说
生活随笔
收集整理的这篇文章主要介绍了
JavaScript No Overloading 函数无重载之说
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
在ECMAScript语言中,函数名字仅仅只是是一个指针(能够觉得是引用),以下的代码:
"use strict";function sum(a,b){return a+b; }console.log(sum(1,2));var sum2 = sum; sum = null;console.log(sum2(3,3));
输出:3,6;
代码能够看出,我们定义了函数,事实上函数名是一个指针,指针指向了堆内存那块这个函数的定义,我们能够把这个地址保存好几份。
我们看一下“重载”(加引號强调不是真的):
"use strict";function addSomeNumber(num){return num + 100; }function addSomeNumber(num,add){return num + add; }console.log(addSomeNumber(10));
结果是什么:NaN
上面的代码能够等价于以下的书写:
"use strict";var addSomeNumber = function(num){return num + 100; };addSomeNumber=function(num,add){return num + add; };console.log(addSomeNumber(10));
由这个等价的代码,我们能够轻易的看出。当我们定义同名函数时候。相当于函数指针指向了其他代码定义。
总结
以上是生活随笔为你收集整理的JavaScript No Overloading 函数无重载之说的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Linux Signals 进程信号简介
- 下一篇: 《编写可测试的JavaScript代码》