我們在聲明一個變量
var a = 1
實際分為兩步
var a //先聲明一個變量a a = 1 // 給a賦值
1. 具名函數
格式:
function 函數名(input1,input2){ return //(返回結果) }
列如
function sum(a , b){ return a + b }
sum(1,2) 得到的結果就是3
function 跟 var 一樣,是聲明的 關鍵字
變量
可以是7中數據類型(number, string, boolean, null, undefined, symbol, object(function、array))
變量的特例
如果用function聲明一個函數
如 function X( ){ } ------------這里的 X 只能是函數
console.log( )括號里面的本應該是字符串 ,如果不是字符串會自動幫你轉化成字符串
也就是 X.toString
那么console. long(X)
打印的是字符串"function X( ){ }"
注意:console.log的源代碼為:
console.log = function(a){ alert(a) return undefined }
也就是說console.log()打印什么和返回什么沒有任何關系
2. 匿名函數
格式:
function (input1,input2){ return //(返回結果) }
匿名函數不能單獨使用,必須賦值給另一個變量
即
var X = function (input1,input2){ return //(返回結果) }
3. 既有變量又有函數名
格式
var X = function sum(input1,input2){ return //(返回結果) }
console.log(sum)直接報錯
只能在 function sum(input1,input2){return //(返回結果)} 里面訪問sum,也就是sum的作用區域只在內部
4. window.Function函數對象(幾乎不用這種聲明方式)
new Function(' x ', ' y ', ' return a + b ')
此方式括號里面都是用字符串表示,字符串可以拼一起,可添加變量
new Function(' x ', ' y ', ' return x + n + y ')
5. f = (x, y) => {return }
必須有一個變量如f
(x, y) => {return }是個匿名函數
sum = (x,y) => {return x + y}
如果只有一句可以簡寫成(注意return和{ }要一起去掉,不能只去其一)
sum = (x,y) => x + y
如果只有一個參數
n = (x) =>{return x*x}
可以簡寫成
n = x => x*x