函數(shù)

函數(shù)的創(chuàng)建方式
(1)函數(shù)聲明 function 函數(shù)名 (形式參數(shù)){函數(shù)體}
(2)函數(shù)表達(dá)式
A:匿名函數(shù)表達(dá)式
B: 命名函數(shù)表達(dá)式

(3)function構(gòu)造函數(shù)來創(chuàng)建函數(shù)
創(chuàng)建函數(shù)的參數(shù)和函數(shù)體var fn=Function(){‘形參1’,‘形參2’,‘函數(shù)體’}
多個(gè)參數(shù)情況下,最后一個(gè)參數(shù)為函數(shù)體。
如果只有一個(gè)參數(shù),這一個(gè)參數(shù)就是函數(shù)體,
如果沒有參數(shù),函數(shù)為空函數(shù)。
anonymous()匿名函數(shù)???
函數(shù)傳遞參數(shù)需要包裝為字符串來傳參

函數(shù)的原型鏈
函數(shù)與原型關(guān)系
原型對(duì)象是否在原型鏈
Function instanceof Function
Object instanceof Object
Object instanceof Function

函數(shù)的特殊點(diǎn):
(1)函數(shù)可以動(dòng)態(tài)創(chuàng)建
(2)函數(shù)可以賦值給變量,可以被擴(kuò)展、刪除(作為對(duì)象的方法時(shí)刪除)
(3)函數(shù)可以作為其他函數(shù)的參數(shù)(函數(shù)回調(diào))和返回值
函數(shù)最為返回值:

var cont=(function f(){
     var x=0;
 return function (){
     x++;
     return   x;
 }
 })();
 console.log(cont());
 console.log(cont());
 console.log(cont());
Paste_Image.png

(4)函數(shù)可以擁有自己的屬性和方法
(5)JS中沒有塊級(jí)作用域,
(7)函數(shù)式第一型的對(duì)象(對(duì)象擁有的都擁有):可以做參數(shù);可以賦值給變量,可以當(dāng)返回值
(8)函數(shù)擁有name屬性,用log打印是函數(shù)的函數(shù)名。
注意點(diǎn):如果作為參數(shù)的函數(shù)是對(duì)象的方法,那么在函數(shù)調(diào)用的時(shí)候,(會(huì)把實(shí)參的值賦值給形參)在這個(gè)過程中,函數(shù)的調(diào)用方式發(fā)生了改變,所以需要注意this的指向。
解決辦法:綁定函數(shù)內(nèi)部的this,指向正確的對(duì)象。
示例代碼:

function f(callb,callobj){
//綁定caab方法中的this、讓this總是指向原來的對(duì)象。    
     callb.call(callobj)
 };
    var obj={
        name:'css',
        show:function(){
            console.log(this.name);
        }
    }
    f(obj.show,obj)

回調(diào)函數(shù):

  function f(call){
      call();
  }
    function demo(){
        console.log('demo');
    }
    f(demo);

惰性函數(shù):函數(shù)的實(shí)際內(nèi)容在調(diào)用了一次后才會(huì)被確定,第一調(diào)用時(shí)初始化,重新定義函數(shù)。
function foo(){
console.log('foo');
foo=function(){
console.log('foo,foo');
}
}
foo();//第一次舒適化操作。
foo();//第二次調(diào)用會(huì)覆蓋之前定義的函數(shù)

補(bǔ)充:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容