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