javascript - Pengisytiharan fungsi Js dan ungkapan fungsi
世界只因有你
世界只因有你 2017-07-05 10:55:27
0
4
894

`alert(jumlah(10,10));
var sum=function(num1,num2){

   return num1+num2;

};`
Kenapa ralat dilaporkan tidak ada promosi berubah-ubah?

世界只因有你
世界只因有你

membalas semua(4)
phpcn_u1582

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();

Baca artikel saya: http://www.jianshu.com/p/85a2...

扔个三星炸死你

Ekspresi fungsi tidak dinaikkan.

Baca "Javascript Advanced Programming" sekali lagi.

phpcn_u1582

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(){}; //简单来讲就是表达式的赋值必须要等程序运行到相关行的时候才会进行
ringa_lee

Sama seperti di atas, kaedah penciptaan fungsi anda adalah dalam bentuk literal fungsi, tukar kepada

alert(sum(10,10));
function sum(num1,num2){
    return num1+num2;
}

Itu sahaja

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan