Javascript:通过Javascript加载图片

gee*_*ter 0 html javascript image

这是一个来自教程的javascript代码块,他们试图将图像加载到画布上并稍后进行一些操作.我省略了大部分不相关的代码,使其更易于理解.

1)我无法理解为什么包含图像文件名的行总是放在imageObj.onload函数下面.有关系吗 ?在什么时候图像开始加载?

2)如果我忘记放置图像文件的来源会发生什么.

<script>
            window.onload = function(){
                ....

                var imageObj = new Image();

                imageObj.onload = function(){
                    ....
                    ....
                    });

                    ....
                    ....

                };
                imageObj.src = "yoda.jpg";

            };
        </script>
Run Code Online (Sandbox Code Playgroud)

jAn*_*ndy 5

这是一个有点历史的问题.来自.onload.src不重要的顺序(它在技术上对两个订单都有效),问题是一旦src设置了属性,某些浏览器(某些= Internet Explorers)将从缓存中获取图像(如果可用).

这就是为什么你应该onload在设置之前总是声明一个处理程序src.

如果您忘记设置src属性,那么根本不会发生任何事情.如果您不再持有该对象的引用或闭包,它将尽快收集垃圾.