PineApple_Ninja.js
PineApple_Ninja.js
1.本章內容
2.理解函數的重要性
3.定義函數的方式
4.參數賦值
JavaScript中最關鍵的函數是:第一類對象(first-class objects)
函數與對象共同存在,函數也可以被視為其他任意類型的JS對象。
函數和普通數據類型一樣,能被變量引用,能以字面形式聲明。
甚至還可以寫箭頭(arrow)函數,它能幫你編寫更優美的代碼。
先讓我們來學習一下他的優點吧!
首先要帶著幾個問題來學習
1.回調函數在哪種清下會同步調用,或者異步調用呢?
2.箭頭函數和函數表達式的區別是什么?
3.你為什么需要在函數中使用默認參數?
**
函數的不同點到底是什么?
**
函數以及函數式概念之所以重要,原因在于函數是程序執行過程中的主要模塊單元。
除了全局javascript代碼是在頁面構建的階段執行的,我們編寫的所有的腳本代碼都將在一個函數內執行。
由于我們的大多數代碼會作為函數調用來執行,因此我們在編寫代碼時,通過用強大的構造器能賦予代碼很大的靈活性和控制力。接下來看幾張常用功能
下面展示一些 內聯代碼片。
JS不同于很多其他編程語言,在JS中,我們幾乎能夠用函數來實現同樣的事。
**
函數是第一類對象
**
JS中函數擁有對象的所有能力,也因此函數可被稱作為任意其他類型對象來對待。當我們說函數是第一類對象的時候,就是說函數也能實現以下功能。
對象能做的任何一件事,函數也都能做。函數是對象,唯一的特殊之處在于它是可以調用的(invokable),既然函數會被調用以便執行某項動作。
第一類對象的特點之一是,它能作為參數傳入函數。對于函數而言,這項特性表明:如果我們將某個函數作為參數傳入另一個函數,傳入函數會在應用程序執行的未來某個時間點才執行。大家所知道的更一般的概念是回調函數(callback function )接下來深入學習重要概念
**
回調函數
**
當我們建立了一個將在隨后調用的函數時,無論是在事件處理階段通過瀏覽器還是通過其他代碼,我們都是在建立一個回調(callback).這個屬于源自于這樣一個事實,既在執行過程中,我們建立的函數會被其他函數在稍后的某個合適事件點“再回來調用”
有效運用JS的關鍵在于回調函數
不論是 單擊一次按鈕 ,從服務端接受數據,還是UI動畫一部分
此段章將講述實際使用回調函數的典型例子。這部分會有些復雜,所以在深入前要先了解它的概念。我們務必要理解透徹,才能像忍者一樣快速手里劍,精通各種暗殺武器
那么回調函數,就是我們的手里劍!也是忍者的入門練習武器之一
這個函數可能看起來沒什么用,但他反應了函數的一種能力,即將函數作為另一個函數的參數,隨后通過參數來調用該函數.
var text="手里劍"; report("風遁——巨魔手里劍!"); function useless(ninjaCallback){report("水遁——水分身手里劍!");return ninjaCallback(); //函數定義,參數為一個回調函數,其函數體內會立即調用該回調函數 } function getText(){report("雷遁——千鳥手里劍!");return text; //簡單的函數定義,僅返回一個全局變量 }report("通靈術");assert(useless(getText)===text),"反向通靈術"+text)' //把getText作為回調函數傳入上面的useless函數report("倍攻倍化術");在這個代碼清單中,我們使用自定義函數report()來輸出執行過程中的信息,這樣一來我們就能通過這些信息來跟蹤程序的執行過程。
還使用了 斷言函數assert。 該函數通常使用兩個參數。第一個參數是用于斷言的表達式。
我們需要確定使用參數getText調用useless(getText)===text 判斷是否相等
若第一個參數的執行結果為true 斷言通過;反之,斷言失敗。
第二個參數是斷言相關聯的信息。通常輸出在log上。
總結
以上是生活随笔為你收集整理的PineApple_Ninja.js的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区分大小屏幕_第一个Python程序——
- 下一篇: RSA签名算法