Apabila kita menulis kod js, kita mempunyai dua cara menulis, satu ialah ekspresi fungsi, dan satu lagi ialah pengisytiharan fungsi. Apa yang perlu kita fokus ialah:
Hanya borang pengisytiharan fungsi boleh dinaikkan pangkat.
1. Borang pengisytiharan fungsi [Berjaya]
function myTest(){ foo(); function foo(){ alert("我来自 foo"); } } myTest();
2. Kaedah ekspresi fungsi [Kegagalan]
function myTest(){ foo(); var foo =function foo(){ // 看这里 alert("我来自 foo"); } } myTest();
Pengisytiharan dan ungkapan adalah berbeza Jika anda mengisytiharkan, bukan sahaja definisi akan dilakukan lebih awal, tetapi tugasan juga akan dilakukan terlebih dahulu, tetapi ungkapan itu tidak akan
a(); function a(){}; //等同于 var a = function(){}; a(); ///////对于表达式有 a(); var a = function(){}; //等同于 var a; a(); a = function(){}; //简单来讲就是表达式的赋值必须要等程序运行到相关行的时候才会进行
Apabila kita menulis kod js, kita mempunyai dua cara menulis, satu ialah ekspresi fungsi, dan satu lagi ialah pengisytiharan fungsi.
Apa yang perlu kita fokus ialah:
1. Borang pengisytiharan fungsi [Berjaya]
2. Kaedah ekspresi fungsi [Kegagalan]
Baca artikel saya: http://www.jianshu.com/p/85a2...
Ekspresi fungsi tidak dinaikkan.
Baca "Javascript Advanced Programming" sekali lagi.
Pengisytiharan dan ungkapan adalah berbeza Jika anda mengisytiharkan, bukan sahaja definisi akan dilakukan lebih awal, tetapi tugasan juga akan dilakukan terlebih dahulu, tetapi ungkapan itu tidak akan
Sama seperti di atas, kaedah penciptaan fungsi anda adalah dalam bentuk literal fungsi, tukar kepada
Itu sahaja