标签:javascript no overlo javascript 函数无重载之说
在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));
代码可以看出,我们定义了函数,其实函数名是一个指针,指针指向了堆内存那块这个函数的定义,我们可以把这个地址保存好几份。
我们看一下“重载”(加引号强调不是真的):
"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 函数无重载之说
标签:javascript no overlo javascript 函数无重载之说
原文地址:http://blog.csdn.net/doctor_who2004/article/details/46674285