cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Pengisytiharan fungsi Js dan ungkapan fungsi

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

   return num1+num2;

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

世界只因有你世界只因有你2705 hari yang lalu878

membalas semua(4)saya akan balas

  • phpcn_u1582

    phpcn_u15822017-07-05 10:57:27

    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...

    balas
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-07-05 10:57:27

    Ekspresi fungsi tidak dinaikkan.

    Baca "Javascript Advanced Programming" sekali lagi.

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-07-05 10:57:27

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

    balas
    0
  • ringa_lee

    ringa_lee2017-07-05 10:57:27

    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

    balas
    0
  • Batalbalas