當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript No Overloading 函数无重载之说
生活随笔
收集整理的這篇文章主要介紹了
JavaScript No Overloading 函数无重载之说
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
????? 在ECMAScript語言中,函數(shù)名字僅僅只是是一個(gè)指針(能夠覺得是引用),以下的代碼:
"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;
?????
?????? 代碼能夠看出,我們定義了函數(shù),事實(shí)上函數(shù)名是一個(gè)指針,指針指向了堆內(nèi)存那塊這個(gè)函數(shù)的定義,我們能夠把這個(gè)地址保存好幾份。
?????? 我們看一下“重載”(加引號強(qiáng)調(diào)不是真的):
"use strict";function addSomeNumber(num){return num + 100; }function addSomeNumber(num,add){return num + add; }console.log(addSomeNumber(10));
??????? 結(jié)果是什么:NaN
????? 上面的代碼能夠等價(jià)于以下的書寫:
?
"use strict";var addSomeNumber = function(num){return num + 100; };addSomeNumber=function(num,add){return num + add; };console.log(addSomeNumber(10));??? 由這個(gè)等價(jià)的代碼,我們能夠輕易的看出。當(dāng)我們定義同名函數(shù)時(shí)候。相當(dāng)于函數(shù)指針指向了其他代碼定義。
總結(jié)
以上是生活随笔為你收集整理的JavaScript No Overloading 函数无重载之说的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux Signals 进程信号简介
- 下一篇: 指针例题