Rumah > Soal Jawab > teks badan
Dalam JavaScript, selepas pembolehubah global diisytiharkan secara global, ia akan menjadi hak milik objek global dengan nama yang sama. Walau bagaimanapun, selepas pembolehubah tempatan diisytiharkan dalam fungsi, ia tidak akan menjadi atribut fungsi (objek sebaliknya, ia mesti diisytiharkan menggunakan "nama fungsi.nama atribut".
PHP中文网2017-06-26 11:00:35
Boleh difahami begini:
Pembolehubah yang diisytiharkan di dalam fungsi tergolong dalam objek konteks pelaksanaan fungsi, bukan objek fungsi
Pembolehubah yang diisytiharkan dalam persekitaran global tergolong dalam objek konteks pelaksanaan global, dan objek konteks ini ialah objek persekitaran global
巴扎黑2017-06-26 11:00:35
Isu sejarah, adalah disyorkan untuk menggunakan mod ketat untuk menghapuskan kekeliruan.
'use strict';
var v = 2;
console.log(window.v); // undefined
大家讲道理2017-06-26 11:00:35
Jika anda maksudkan ini
`ujian fungsi(){
var a = 1; // 你说的a是test的属性。
this.a = 1;// 这才是函数的属性,因为在JS里,“万物”皆对象(可能夸张了。)
//如果,还不明白,请自觉翻阅,“神奇的this”,"作用域"等基础JS章节
}`
//Kemas kini, pembetulan ralat.
Penyoal melihat perkara asas dengan baik.
我想大声告诉你2017-06-26 11:00:35
Saya rasa ini adalah masalah skop pembolehubah fungsi js sangat fleksibel. Saya harap kita boleh belajar bersama-sama^~^ ^~^
淡淡烟草味2017-06-26 11:00:35
Dalam JavaScript, selepas pembolehubah global diisytiharkan secara global, ia akan menjadi hak milik objek global dengan nama yang sama. Selepas pembolehubah tempatan diisytiharkan dalam fungsi, ia menjadi objek tempatan, yang merupakan atribut fungsi, jadi anda mesti terlebih dahulu mengakses fungsi secara global dan kemudian mengakses pembolehubah tempatan dalam fungsi tersebut.