cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Mengapa data tidak ditakrifkan muncul selepas data pemulangan?

function getData() {
    var data = new Array();
  for (var i=0; i<list.length; i++) {
    var city_text = list[i].firstChild.nodeValue;
    var city = city_text.substring(0,2);    //截取字符串,从0到2,但不包括2.
    var num = list[i].lastChild.innerHTML;
    data[i] = [city,num];
    }
  alert(data.length);    //7
  return data;
}
alert(data.length);    //data is not defined

Sudahreturn data了,外部的dataMengapa ia tidak boleh dipanggil?

过去多啦不再A梦过去多啦不再A梦2752 hari yang lalu864

membalas semua(5)saya akan balas

  • 仅有的幸福

    仅有的幸福2017-05-19 10:43:05

    Data yang anda maksudkan ialah pembolehubah tempatan yang ditakrifkan dalam kaedah getData dan tidak boleh digunakan di luar Anda boleh menggunakan pembolehubah untuk menerima nilai pulangan
    var myData =getData()

    balas
    0
  • 大家讲道理

    大家讲道理2017-05-19 10:43:05

    Anda perlu mendapatkan nilai dengan getData sebelum anda boleh menggunakannya.

    balas
    0
  • PHP中文网

    PHP中文网2017-05-19 10:43:05

    Fungsi getData baru sahaja ditakrifkan sebelum ini, tetapi tidak dipanggil
    Jika dipanggil, pembolehubah perlu digunakan untuk menerima nilai pulangan, seperti:
    var datas = getData();

    data ialah pembolehubah tempatan dalam fungsi dan tidak boleh diakses di luar fungsi. Akses luaran sebenarnya adalah pembolehubah data yang ditakrifkan secara luaran, ia akan digesa tidak ditakrifkan
    Senarai yang digunakan dalam fungsi getData tidak ditakrifkan dalam fungsi, jadi ia harus ditakrifkan terbaik untuk menukarnya kepada parameter fungsi:
    fungsi getData(senarai){

    ...

    }
    Panggil:
    var datas = getData(senarai);

    Selain itu, apabila terdapat pembolehubah senarai luaran, parameter getData juga merupakan senarai senarai parameter digunakan di dalam fungsi, bukan senarai pembolehubah luaran.
    Untuk membezakan, anda boleh menukar parameter kepada yang berbeza, seperti:
    fungsi getData(listParam){

    ... // 函数内部使用listParam代替list

    }
    Panggilan kekal tidak berubah:
    var datas = getData(list
    Parameter yang digunakan semasa membuat panggilan ialah senarai pembolehubah luaran Apabila melaksanakan, senarai ditetapkan kepada listParam, dan listParam digunakan di dalam fungsi untuk mewakili parameter yang diluluskan. kepada fungsi

    balas
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-19 10:43:05

    Oleh kerana data anda diisytiharkan dengan var di dalam fungsi, ia adalah pembolehubah tempatan fungsi dan tidak boleh dipanggil terus di luar fungsi Walaupun anda boleh mengembalikan data data melalui > fungsi dari luar, anda mesti menetapkan pembolehubah untuk menerima nilai pulangan

    balas
    0
  • PHP中文网

    PHP中文网2017-05-19 10:43:05

    ...soalan ini.

    Ia sepatutnya ditulis seperti ini di luar fungsi: alert(getDtata().length Untuk sebabnya, mari kita jelaskan asasnya dahulu.

    balas
    0
  • Batalbalas