callee與caller的區別簡單介紹
對於外表比較相似的東西,我們通常比較關注他們的區別是什麼。
標題中的兩個東西外表就比較相似,下面就來介紹一下它們的區別有哪些。
一.callee屬性:
此屬性屬於arguments物件,也就是說使用的時候要用如下形式:
[JavaScript] 純文字檢視 複製程式碼arguments.callee
它指向的是arguments所屬的函式。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼function func(num){ if (num<=1) { return 1; } else{ return num*arguments.callee(num-1); }; }; console.log(func(5));
上面的通過arguments.callee實現了遞迴效果。
二.caller屬性:
此屬性屬於一個函式物件,它指向當前函式所屬於的直接父函式,也可以說呼叫當前函式的函式。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼function father(){ children(); }; function children(){ console.log(children.caller); }; father();
上面簡單介紹了兩個屬性的基本用法,當然區別也就看出來了。
更多內容可以參閱arguments.callee和caller的用法一章節。
相關文章
- js callee與callerJS
- 簡單介紹 "&&" 與 “&” 和 ”|“ 與 ”||“ 的區別
- js apply/call/caller/callee/bind使用方法與區別分析JSAPP
- Function.caller, arguments.caller, arguments.callee, arguments.callee.calllerFunction
- JavaScript方法call,apply,caller,callee,bind的使用詳解及區別JavaScriptAPP
- 簡單介紹HTTP與HTTPS之間的區別HTTP
- URL和URI的區別簡單介紹
- js中的arguments,caller,callee,applyJSAPP
- javascript callee和caller屬性用法JavaScript
- closest()、parents()和parent()方法的區別簡單介紹
- 理解JavaScript中的arguments,callee,caller,applyJavaScriptAPP
- Javascript - 全面理解 caller,callee,call,applyJavaScriptAPP
- javascript原始值和物件的主要區別簡單介紹JavaScript物件
- inherit和initial屬性值區別簡單介紹
- npm與cnpm的區別介紹NPM
- document.documentElement和document.body區別簡單介紹
- 簡單介紹下python2.x與python3.x的區別Python
- height:inherit和height:100%的區別簡單介紹
- FTP和TFTP的區別與介紹FTP
- SSL與TLS的區別以及介紹TLS
- Disruptor的簡單介紹與應用
- orm的method屬性值post和get的區別簡單介紹ORM
- max-height和height屬性的區別簡單介紹
- js與&&運算子簡單介紹JS
- php中explode與split的區別介紹PHP
- javascript Object型別物件簡單介紹JavaScriptObject型別物件
- Webpack 的簡單介紹Web
- Promise的簡單介紹Promise
- CFRunloopObserverRef 的簡單介紹OOPServer
- POP簡單介紹與使用實踐
- jar包和war包的介紹與區別JAR
- ZT:簡單介紹join,outer-join,semi-join,anti-join的區別
- SVG簡單介紹SVG
- HTML簡單介紹HTML
- ActiveMQ簡單介紹MQ
- HTML 簡單介紹HTML
- JavaScript 簡單介紹JavaScript
- CSS 簡單介紹CSS