1. Apakah itu fungsi
Jika anda perlu menggunakan sekeping kod yang sama beberapa kali, anda boleh merangkumnya ke dalam fungsi. Fungsi ialah satu set pernyataan yang boleh dipanggil pada bila-bila masa dalam kod anda. Setiap fungsi sebenarnya adalah skrip pendek.
Contohnya: Untuk melengkapkan fungsi berbilang set jumlah.
var sum; sum = 3+2; alear(sum); sum = 7+8; alear(sum); ......//不停的重复两行代码
Jika anda ingin melaksanakan jumlah 8 kumpulan nombor, anda memerlukan 16 baris kod Semakin banyak anda melaksanakan, semakin banyak baris kod yang anda perlukan. Oleh itu, kita boleh meletakkan blok kod yang melaksanakan fungsi tertentu ke dalam fungsi dan memanggil fungsi ini secara langsung, menjimatkan masalah berulang kali memasukkan sejumlah besar kod. Lengkapkan menggunakan fungsi:
function add(a,b){ sum = a+b;//只需要写一次就可以 }; add2(3,2); add2(7,8); ......//只需要调用函数就可以
2. Tentukan fungsi
Tentukan sintaks fungsi
function 函数名(参数argument){ 函数体statements; } //function定义函数的关键字,“函数名”你为函数取的名字,“函数体”替换为完成特定功能的代码。
function shout(){ var beatles = Array("John","Paul","George","Ringo"); for (var count = 0; count < beatles.length; count++){ alert(beatles[count]); } } //这个函数里面的循环语句将依次弹出对话框来显示beatles里面内容。 shout();调用函数,执行脚本里的动作
Lengkapkan fungsi menjumlahkan dua nombor dan memaparkan hasilnya:
<script type="text/javascript"> function add2(){ sum = 3+2; alert()sum; } add2(); </script>
3. Panggilan fungsi
Selepas fungsi ditakrifkan, ia tidak boleh dilaksanakan secara automatik Anda perlu memanggilnya dan menulis nama fungsi secara terus dalam kedudukan yang diperlukan.
Kes pertama: dipanggil dalam teg
<script type="text/javascript"> function add(){ sum = 1+1; alert(sum); } add();//调用函数,直接写函数名。 </script>
Kes kedua: Dipanggil dalam fail HTML, seperti memanggil fungsi yang ditentukan selepas mengklik butang.
<html> <head> <script type="text/javascript"> function add2(){ sum = 5 + 6; alert(sum); } </script> </head> <body> <form> <input type="button" value="click it" onclick="add2()"> //按钮,onclick点击事件,直接写函数名 </form> </body> </html>
4. Fungsi dengan parameter
Malah, definisi fungsi juga boleh dalam format berikut:
nama fungsi fungsi (parameter 1, parameter 2) {
Kod fungsi
}
Apabila mentakrifkan fungsi, anda boleh mengisytiharkan seberapa banyak argumen kepadanya selagi ia dipisahkan dengan koma. Di dalam fungsi, anda boleh menggunakan mana-mana parameternya seperti pembolehubah biasa.
Mengikut format ini, fungsi untuk melaksanakan hasil tambah mana-mana dua nombor hendaklah ditulis sebagai:
function add2(x,y){ sum = x + y; document.write(sum); } //x和y则是函数的两个参数,调用函数的时候,我们可通过这两个参数把两个实际的加数传递给函数了。
melaksanakan fungsi berikut:
Tentukan fungsi untuk melaksanakan hasil tambah tiga nombor Nama fungsi ialah tambah3.
Hitung hasil tambah dua set tiga nombor: 5, 8, 3/7, 1, dan 4.
<script type="text/JavaScript"> function add3(x,y,z) { sum = x + y +z; document.write(x+"、"+y+"、"+z+"和:"+sum+"<br/>"); } add3(5,8,3); add3(7,1,4); </script>
5. Fungsi yang mengembalikan nilai
Fungsi bukan sahaja boleh menerima data (dalam bentuk parameter) tetapi juga mengembalikan data. Kita boleh mencipta fungsi dan memintanya mengembalikan nilai, rentetan, tatasusunan atau boolean. Ini memerlukan penggunaan penyata pulangan.
function multiply(num1,num2){ var total = num1*num2; return total; }
Hasilnya dikeluarkan melalui "document.write" sebelum ini, kini ia dikeluarkan menggunakan fungsi
Kita hanya perlu menukar baris "document.write(sum)" kepada kod berikut:
function add2(x,y){ sum = x + y; return sum; //返回函数值,return后面的值叫做返回值。 } //还可以通过变量存储调用函数的返回值: result = add2(3,4);//语句执行后,result变量中的值为7。
Contoh: Fungsi berikut hanya mempunyai satu parameter (nilai suhu Fahrenheit), dan ia akan mengembalikan nilai berangka (nilai suhu Celsius pada suhu yang sama):
<script type="text/javascript"> function convertToCelsius (temp) { var result = temp - 32; result = result / 1.8; return result; } //函数的真正价值体现在,我们还可以把它们当做一种数据类型来使用,这意味着可以把一个函数的调用结果赋给一个变量: var temp_fahrenheit = 95; var temp_celsius = convertToCelsius(temp_fahrenheit); alert(temp_celsius); </script>
Dalam contoh ini, nilai pembolehubah temp_celsius ialah 35, yang dikembalikan oleh fungsi convertToCelsius.
Apabila menamakan pembolehubah, saya menggunakan garis bawah untuk memisahkan perkataan apabila menamakan fungsi, saya menggunakan huruf besar bagi setiap perkataan bermula dengan perkataan kedua (iaitu, camelCase).
1), skop pembolehubah
Pembolehubah boleh sama ada global atau tempatan.
Pembolehubah global boleh dirujuk di mana-mana dalam skrip. Sebaik sahaja anda mengisytiharkan pembolehubah global dalam skrip, anda boleh merujuknya dari mana-mana sahaja dalam skrip—termasuk fungsi dalam. Skop pembolehubah global ialah keseluruhan skrip.
Pembolehubah setempat hanya wujud di dalam fungsi di mana ia diisytiharkan, dan tidak boleh dirujuk di luar fungsi itu. Skop pembolehubah tempatan terhad kepada fungsi tertentu.
Pembolehubah fungsi boleh diskop secara eksplisit menggunakan kata kunci var.
Jika var digunakan dalam fungsi, pembolehubah itu akan dianggap sebagai pembolehubah tempatan, yang hanya wujud dalam konteks fungsi ini sebaliknya, jika var tidak digunakan, pembolehubah itu akan dianggap sebagai pembolehubah global pembolehubah global dengan nama yang sama dalam skrip, dan fungsi ini akan mengubah nilai pembolehubah global tersebut.
Contoh:
function square(num){ total = num*num; return total; } var total = 50; var number = square(20); alert(total);
这是错误的,number的值为400,但是这里alert弹出的是total的值,应该是50.
这些代码将不可避免地导致全局变量total的值发生变化。
全局变量total的值变成了400.我的本意是让square()函数只把它计算出来的平方值返回给变量number,但因为未把这个函数内部total变量明确地声明为局部变量,这个函数把名字同样是total的那个全局变量的值也改变了。
把这个函数写成如下的样子才是正确的:
function square(num){ var total = num*num; return total; } var total = 50; var number = square(20); alert(total); </script>
正确结果:
以上就是关于Javascript函数的学习笔记,还涉及到了一些变量的知识点,希望对大家的学习有所帮助。