扫码关注官方订阅号
对下述结构代码,文档中只有
小伙看你根骨奇佳,潜力无限,来学PHP伐。
说明原先这段代码等同于写在了head里喽,代码执行的时候,document.body还不存在。
head
document.body
写在window.onload里能用,现在好理解了吧?因为onload之后,document.body就有了
window.onload
onload
很简单啊,js是边读边执行的,也就是说,如果你写这段代码的时候,浏览器还读不到body这个标签,那么他就会找不到document.body,自然document.body是个undifend,自然不存在一个叫appendchild的方法。
window.onload是整个html读完所有资源全部加加载完之后才开始执行上述代码,这时候浏览器已经读到了body标签了,document.body存在,自然带有dom方法appendchild
如果你不想使用window.onload,可以将这段代码放在body标签里面
onload就是一个加载完成,按照你的说法,你应该是<script>写在<body>的上面了,页面开始加载,加载到<script>发现你命名的变量tester命名了,但是不知道是什么东西来的,因为这个时候还没读取到<body>里面的p,所以会显示未定义。你加上onload,说明页面完成再加载这段代码,所以不会出现问题。你也可以把<script>放到最下面,</body>上面的位置,这样你不用onload也没问题。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
说明原先这段代码等同于写在了
head里喽,代码执行的时候,document.body还不存在。写在
window.onload里能用,现在好理解了吧?因为onload之后,document.body就有了很简单啊,js是边读边执行的,也就是说,如果你写这段代码的时候,浏览器还读不到body这个标签,那么他就会找不到document.body,自然document.body是个undifend,自然不存在一个叫appendchild的方法。
window.onload是整个html读完所有资源全部加加载完之后才开始执行上述代码,这时候浏览器已经读到了body标签了,document.body存在,自然带有dom方法appendchild
如果你不想使用window.onload,可以将这段代码放在body标签里面
onload就是一个加载完成,按照你的说法,你应该是<script>写在<body>的上面了,页面开始加载,加载到<script>发现你命名的变量tester命名了,但是不知道是什么东西来的,因为这个时候还没读取到<body>里面的p,所以会显示未定义。你加上onload,说明页面完成再加载这段代码,所以不会出现问题。你也可以把<script>放到最下面,</body>上面的位置,这样你不用onload也没问题。