Rumah > Soal Jawab > teks badan
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
了,外部的data
Mengapa ia tidak boleh dipanggil?
仅有的幸福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 pulanganvar myData =getData()
大家讲道理2017-05-19 10:43:05
Anda perlu mendapatkan nilai dengan getData sebelum anda boleh menggunakannya.
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
我想大声告诉你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
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.