(小白)函数一: 声明函数的方法—语句定义法和表达式定义法的区别
一、函數(shù)的定義:
在說明什么是函數(shù)前先舉一個(gè)小例子:
大家都知道印刷術(shù)是我國的四大發(fā)明(科普一下:中國四大發(fā)明:造紙術(shù)、印刷術(shù)、火藥、指南針)之一,之所以有印刷術(shù),是因?yàn)橹貜?fù)的抄寫既浪費(fèi)時(shí)間,效率又很低,所以印刷術(shù)應(yīng)用而生,印刷術(shù)就像一個(gè)工具,有了這個(gè)工具,我們就不需要再重復(fù)的去抄寫一些一模一樣的內(nèi)容。
今天所說的函數(shù)就類似于印刷術(shù),我們?cè)跁鴮懘a時(shí)發(fā)現(xiàn),在實(shí)現(xiàn)同一個(gè)功能時(shí),所用的代碼幾乎是一樣的,因?yàn)閷?shí)際需要,所以不得不重復(fù)的去書寫一樣的代碼,這時(shí)我們書寫的代碼看起來很冗雜,會(huì)占據(jù)內(nèi)存空間,解析的時(shí)間也會(huì)很長(zhǎng),所以,為了使我們的代碼書寫的更美觀,我們可以將我們的代碼封裝起來,給它一個(gè)命名,放在一個(gè)獨(dú)立的模塊里,需要使用時(shí)拿過來就OK了!
比如說我們?cè)诓皇褂萌魏窝h(huán)語句直接想打印5次“hello world!”時(shí),這時(shí)我們就需要重復(fù)輸出5次“hello world!”,代碼如下:
document.write(('hello world!')+"</br>"); document.write(('hello world!')+"</br>"); document.write(('hello world!')+"</br>"); document.write(('hello world!')+"</br>"); document.write(('hello world!')+"</br>"); 接下來我們封裝一個(gè)函數(shù)來打印“hello world!” function helloworld(){ document.write(('hello world!')+"</br>"); } helloworld() helloworld() helloworld() helloworld() helloworld() 很明顯:我們用函數(shù)來打印“hello world”,不用再重復(fù)的書寫一樣的代碼,只需要使用的時(shí)候調(diào)用就OK了!函數(shù)的定義:需要反復(fù)使用的功能代碼,封裝成一個(gè)獨(dú)立的模塊,這個(gè)模塊就叫函數(shù)。
二、聲明函數(shù)的方法:
用function來定義函數(shù)
我們了解了什么是函數(shù)后,接著來看一下怎么聲明函數(shù),通俗點(diǎn)說就是怎么使用這個(gè)函數(shù):
1.語句定義法:
其實(shí)我們?cè)诖蛴 癶ello world”時(shí)使用的方法就是語句定義法
格式:function 函數(shù)名(){
? ? ?函數(shù)塊;
}
調(diào)用:函數(shù)名()
2.表達(dá)式定義法:
一說表達(dá)式,肯定是和賦值有關(guān),我們可以大膽的猜想一下,表達(dá)式定義法是不是就是我們將一個(gè)函數(shù)賦值給了一個(gè)變量呢?
看一下它的格式:
var 變量名 = function[函數(shù)名](){
? ? 函數(shù)塊;
}
調(diào)用:變量名()
注意:var后面的是它聲明的這個(gè)變量的變量名,不是函數(shù)名,函數(shù)名還是在function后面,之所以將函數(shù)名寫在[]中,是因?yàn)樵诒磉_(dá)式定義法中,函數(shù)名是可以省略的,通常情況下,函數(shù)名我們也都是省略不寫的。
語句定義法和表達(dá)式定義法在以后的使用中,語句定義法會(huì)更常用。
為什么說語句定義法更常用呢,這就要說一下語句定義法和表達(dá)式定義法的區(qū)別了:
3、語句定義法和表達(dá)式定義法的區(qū)別:
語句定義法會(huì)提升函數(shù),會(huì)在執(zhí)行代碼前讀取函數(shù)聲明,通俗講就是我們可以在任何位置調(diào)用這個(gè)函數(shù);
//person() 函數(shù)前調(diào)用 //張三 function person(){ var name = "張三"; alert(name); } person() //函數(shù)后調(diào)用 //張三表達(dá)式定義法不會(huì)提升函數(shù),必須先聲明函數(shù),再調(diào)用;
//person(); 報(bào)錯(cuò):控制臺(tái)輸出person is not a function var person = function(){ var name = "張三"; alert(name); } person(); //張三轉(zhuǎn)載于:https://www.cnblogs.com/kinoko-1009/p/10272047.html
總結(jié)
以上是生活随笔為你收集整理的(小白)函数一: 声明函数的方法—语句定义法和表达式定义法的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到手表是什么意思
- 下一篇: 梦到刚刚过世的亲人怎么回事