Rumah >hujung hadapan web >tutorial js >Analisis beberapa kaedah definisi kemahiran JS functions_javascript

Analisis beberapa kaedah definisi kemahiran JS functions_javascript

WBOY
WBOYasal
2016-05-16 15:25:241791semak imbas

Contoh dalam artikel ini menerangkan beberapa cara untuk mentakrifkan fungsi JS. Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:

Takrifan fungsi JS adalah agak fleksibel Ia berbeza daripada bahasa lain Setiap fungsi dikekalkan dan dijalankan sebagai objek.

Mari kita lihat beberapa definisi yang biasa digunakan:

function func1([parameter]){/*function body*/}
var func2=function([parameter]){/*function body*/};
var func3=function func4([parameter]){/*function body*/};
var func5=Fungsi baharu();

Kaedah pertama di atas adalah kaedah yang paling biasa digunakan, tidak perlu dikatakan.
Yang kedua ialah untuk menetapkan fungsi tanpa nama kepada pembolehubah, kaedah panggilan: func2([function]);
Kaedah ketiga adalah untuk menetapkan func4 kepada pembolehubah func3 dan memanggil kaedah: func3([function]); atau func4([function]);
Cara keempat ialah mengisytiharkan func5 sebagai objek.

Lihat perbezaan mereka:

function func(){
  //函数体
}
//等价于
var func=function(){
  //函数体
}

Tetapi mereka juga mentakrifkan fungsi, dan terdapat perbezaan tertentu dalam penggunaan.

<script>
//这样是正确的
func(1);
function func(a)
{
  alert(a);
}
</script>
<script>
//这样是错误的,会提示func未定义,主要是在调用func之前没有定义
func(1);
var func = function(a)
{
  alert(a);
}
//这样是正确的,在调用func之前有定义
var func = function(a)
{
  alert(a);
}
func(1);
</script>

Takrifan ketiga boleh difahami dengan cara yang sama.

Kaedah takrifan keempat juga memerlukan pengisytiharan objek sebelum ia boleh dirujuk.

Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan JavaScript.

Kenyataan:
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