Atur nota kajian fungsi Javascript_kemahiran javascript

WBOY
Lepaskan: 2016-05-16 15:28:32
asal
1308 orang telah melayarinya

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);
......//不停的重复两行代码
Salin selepas log masuk

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);
 ......//只需要调用函数就可以
Salin selepas log masuk

2. Tentukan fungsi
Tentukan sintaks fungsi

 function 函数名(参数argument){
  函数体statements;
 }
 //function定义函数的关键字,“函数名”你为函数取的名字,“函数体”替换为完成特定功能的代码。
Salin selepas log masuk
function shout(){
   var beatles = Array("John","Paul","George","Ringo");
   for (var count = 0; count < beatles.length; count++){
     alert(beatles[count]);
   }
 }
 //这个函数里面的循环语句将依次弹出对话框来显示beatles里面内容。 
 shout();调用函数,执行脚本里的动作

Salin selepas log masuk

Lengkapkan fungsi menjumlahkan dua nombor dan memaparkan hasilnya:

<script type="text/javascript">
  function add2(){
    sum = 3+2;
    alert()sum;
   }
   add2();
 </script>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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则是函数的两个参数,调用函数的时候,我们可通过这两个参数把两个实际的加数传递给函数了。
Salin selepas log masuk

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>
Salin selepas log masuk

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;
 }
Salin selepas log masuk

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。
Salin selepas log masuk

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>
Salin selepas log masuk

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);
Salin selepas log masuk

这是错误的,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>
Salin selepas log masuk

正确结果:

以上就是关于Javascript函数的学习笔记,还涉及到了一些变量的知识点,希望对大家的学习有所帮助。

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan