为什么事件监听器不更改全局变量?

时间:2020-10-29 18:14:24

标签: javascript addeventlistener

<script>
window.title = 'G1'; //global var
subtitle = 'G2';     // global var
var images= 'G3';     //global var

var readFile = document.createElement("script");
readFile.setAttribute("src", "i-data.js");  // reads var's from file where 

var title1 = 'L6';  var subtitle = 'L7'; var images = 'L8';
readFile.setAttribute("async", "false");

var head = document.head;
head.insertBefore(readFile, head.firstElementChild); 
readFile.addEventListener("load", inic, false);

function inic() {
    window.title = title1;
    window.subtitle = subtitle1;
    window.images = images1;

    console.log(title + ' ' + title1);          // returns L6 L6  - it is OK
    console.log(subtitle + ' ' + subtitle1);    // returns L7 L7  - it is OK
    console.log(images[0] + ' ' + images1[0]);  // returns L8 L8  - it is OK
}

console.log(window.title);  // returns G1   - why?
console.log(subtitle);      // returns G2   - why?
console.log(images);        // returns G3   - why?
</script>

我不明白为什么。任何其他功能都可以毫无问题地访问和更改全局数据。正确的解决方法是什么?

0 个答案:

没有答案