JS高級學習:函數(shù)相關

函數(shù)的聲明和函數(shù)表達式

函數(shù)聲明如果放在if-else的語句中,在IE8的瀏覽器中會出現(xiàn)問題,
以后寧愿要函數(shù)表達式,都不要用函數(shù)聲明

// 函數(shù)聲明
            if (true) {
                function f1() {
                    console.log("if的方法");
                };
            } else {
                function f1() {
                    console.log("else的方法");
                };
            }
            f1();
            // 函數(shù)表達式
            var ff;
            if (true) {
                ff = function() {
                    console.log("函數(shù)表達式的if")
                }
            } else {
                ff = function() {
                    console.log("函數(shù)表達式的else")
                }
            }
            ff();

函數(shù)中this的指向

  • 函數(shù)中this的指向
  • 普通函數(shù)中this的指向:window
  • 對象.方法中this的指向:當前的實例對象
  • 定時器方法中this的指向:window
  • 構造函數(shù)中this的指向:實例對象
  • 原型對象方法中this的指向:實例對象
<script type="text/javascript">
            "use strict"; //使用 嚴格模式
            function f1() {
                console.log(this); //window
            };
            //普通函數(shù)
               function f1() {
                 console.log(this);
               }
              f1();

            定時器中的this
               setInterval(function () {
                 console.log(this);
               },1000);

//          構造函數(shù)
               function Person() {
                 console.log(this);
            對象的方法
                 this.sayHi=function () {
                   console.log(this);
                 };
               }
            // 原型中的方法
               Person.prototype.eat=function () {
                 console.log(this);
               };
               var per=new Person();
               console.log(per);
               per.sayHi();
               per.eat();


            //BOM:中頂級對象是window,瀏覽器中所有的東西都是window的
        </script>

函數(shù)的不同調(diào)用方式

<script type="text/javascript">
            // 普通函數(shù)
            function f1() {
                console.log("張家界案件");
            }
            f1();
            // 構造函數(shù)---通過new來創(chuàng)建對象
            function F1() {
                console.log("阿加");
            }
            var f = new F1();
            // 對象中的方法
            function Person() {
                this.play = function() {
                    console.log("金娃雞啊");
                };
            }
            var per = new Person();
            per.play();
        </script>

函數(shù)也是對象

  • 函數(shù)是對象税稼,對象不一定是函數(shù)
  • 對象中有proto原型橡卤,是對象
  • 函數(shù)中有prototype原型,是對象
  • 如果一個東西里面有prototype豪直,又有proto谓着,說明是函數(shù)庶艾,也是對象
<script type="text/javascript">
            var f1 = new Function("num1", "num2", "return num1+num2");
            console.log(f1(10, 20)); //30
            console.log(f1.__proto__ == Function.prototype); //true
            // 所以,函數(shù)實際上也是對象
            console.dir(f1);
            console.dir(Function);
        </script>

數(shù)組的函數(shù)調(diào)用

<script type="text/javascript">
            var arr = [function() {
                    console.log("我就安靜")
                },
                function() {
                    console.log("分啊啊")
                },
                function() {
                    console.log("個恩愛")
                },
                function() {
                    console.log("哈哈哈")
                },
                function() {
                    console.log("還問我")
                }
            ];
            // 回調(diào)函數(shù):函數(shù)作為參數(shù)使用
            arr.forEach(function(ele) {
                ele();
            })
        </script>
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末想罕,一起剝皮案震驚了整個濱河市屎蜓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌茂嗓,老刑警劉巖餐茵,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異述吸,居然都是意外死亡忿族,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門蝌矛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來道批,“玉大人,你說我怎么就攤上這事入撒÷”” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵茅逮,是天一觀的道長璃赡。 經(jīng)常有香客問我,道長献雅,這世上最難降的妖魔是什么碉考? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮惩琉,結(jié)果婚禮上豆励,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好良蒸,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布技扼。 她就那樣靜靜地躺著,像睡著了一般嫩痰。 火紅的嫁衣襯著肌膚如雪剿吻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天串纺,我揣著相機與錄音丽旅,去河邊找鬼。 笑死纺棺,一個胖子當著我的面吹牛榄笙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播祷蝌,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼茅撞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了巨朦?” 一聲冷哼從身側(cè)響起米丘,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎糊啡,沒想到半個月后拄查,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡棚蓄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年堕扶,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片癣疟。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡挣柬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出睛挚,到底是詐尸還是另有隱情,我是刑警寧澤急黎,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布扎狱,位于F島的核電站,受9級特大地震影響勃教,放射性物質(zhì)發(fā)生泄漏淤击。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一故源、第九天 我趴在偏房一處隱蔽的房頂上張望污抬。 院中可真熱鬧,春花似錦、人聲如沸印机。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽射赛。三九已至多柑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間楣责,已是汗流浹背竣灌。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留秆麸,地道東北人初嘹。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像沮趣,于是被迫代替她去往敵國和親削樊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 第3章 基本概念 3.1 語法 3.2 關鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,106評論 0 21
  • 一兔毒、 JS面向?qū)ο缶幊?1漫贞、 面向?qū)ο蠼榻B 什么是對象? Everything is object (萬物皆對象)...
    寵辱不驚丶歲月靜好閱讀 827評論 0 2
  • 什么是原型語言 只有對象,沒有類;對象繼承對象,而不是類繼承類育叁。 “原型對象”是核心概念迅脐。原型對象是新對象的模板,...
    zhoulujun閱讀 2,324評論 0 12
  • 學習目標: 理解面向?qū)ο箝_發(fā)思想 掌握 JavaScript 面向?qū)ο箝_發(fā)相關模式 掌握在 JavaScript ...
    金桔檸檬加冰閱讀 406評論 0 0
  • 1,javascript 基礎知識 Array對象 Array對象屬性 Arrray對象方法 Date對象 Dat...
    Yuann閱讀 899評論 0 1