JavaScript之坑了我--函式細節
函式細解:
1. 函式的宣告三種:
a. 普通直接方式:
function say(name){alert(name);}
b. 變數初始化的方式:
var say = function(name){ alert(name);};
c. 原始方式:
var say = new Function(‘name’,” alert(name);”);
注意:c種方式能體現js中“函式也是物件,函式名是指標”。不過這種宣告方式很損效能:第一次是ECMAScript程式碼,第二次是解析傳入建構函式中的字串;故少用。
2. 由於函式也是物件,即變數,所以,我們可以將一個函式作為值進行傳參。
function getSum(sumFunc ,
x,y){
return sumFunc(x ,y);
}
function sum (x ,y){
return x+y;
}
getSum(sum , 2 , 3);//!!!
再深入點:
js函式作為物件,要注意以下屬性:
我們在瀏覽器console中 執行:
Object.getOwnPropertyNames(
function(){….} );
結果:
["length",
"name", "arguments", "caller",
"prototype"]
解析:
length: 函式的引數的個數
name : 當前函式的名字:用在多個函式的迴圈中
arguments : 一個類陣列物件,包含著在函式執行過程中傳入函式中的所有引數,其中一個屬性callee指向當前函式物件,可用在遞迴;
caller :
prototype : 指向原型物件。
然而由此引發我的問題來了:
1. Js中函式引數如何宣告:不確定的引數個數?例如Function(‘’,’’ ‘’,’’ ‘’,’’……)
2. Js函式物件建立時底層如何實現獲取此函式的名字?
3. Js函式開始執行前做了什麼工作:例如將傳參封裝到arguments物件中之類的
目前本人尚未解決,後續。。。。。。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29900383/viewspace-1822704/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- javascript之函式防抖與節流JavaScript函式
- 細節解析 JavaScript 中 bind 函式的模擬實現JavaScript函式
- 【JavaScript高階進階】JavaScript變數/函式提升的細節總結JavaScript變數函式
- javascript函式節流是什麼JavaScript函式
- JavaScript中函式防抖、節流JavaScript函式
- 函式解構引數小細節函式
- JavaScript之函式柯理化JavaScript函式
- JS專題之節流函式JS函式
- Go 最細節篇|記憶體回收又踩坑了Go記憶體
- Vue、Javascript小細節VueJavaScript
- 前端筆記之JavaScript(九)定時器&JSON&同步非同步/回撥函式&函式節流&call/apply前端筆記JavaScript定時器JSON非同步函式APP
- 效能優化之節流函式---throttle優化函式
- javaScript函式JavaScript函式
- javascript之變數提升與函式提升JavaScript變數函式
- JavaScript進階之函式柯里化JavaScript函式
- 蝦扯蛋之函式防抖和節流函式
- 第 8 節:函式-匿名函式、遞迴函式函式遞迴
- 函式防抖和函式節流函式
- 函式節流與函式防抖函式
- Javascript之字串擷取函式slice()、substring()、substr()JavaScript字串函式
- JavaScript 匿名函式JavaScript函式
- JavaScript function 函式JavaScriptFunction函式
- JavaScript睡眠函式JavaScript函式
- JavaScript Generator 函式JavaScript函式
- javascript函式(5)JavaScript函式
- 第五章 Vlookup函式示例-細節決定成敗函式
- javascript-函式表示式JavaScript函式
- Javascript函式引數求值——Thunk函式JavaScript函式
- JS函式節流和函式防抖JS函式
- 區分函式防抖&函式節流函式
- Oracle函式入坑指南Oracle函式
- JavaScript中回撥函式知識點,都在這了!JavaScript函式
- JavaScript函式宣告和函式表示式區別JavaScript函式
- JavaScript中的compose函式和pipe函式JavaScript函式
- javascript常用函式大全JavaScript函式
- javascript函式全解JavaScript函式
- JavaScript裡的函式JavaScript函式
- JavaScript 回撥函式JavaScript函式
- JavaScript 建構函式JavaScript函式