发表于: 2017-04-13 18:40:23
1 506
今天计划的事:1,写好了任务2的页面,但功能还要调试
2,了解了js文件插在头部和放在后面的区别,放在head部分的话,在html加载之前就会下载解析,若设置了全局变量并赋值为html中的元素的话,会报错找不到对象,放在body后面和话就会等页面加载完才解析运行js文件,就不会出现报错,但也可以用script的defer属性将js文件在head中引用。
defer是脚本程序强大功能中的一个“无名英雄”。它告诉浏览器Script段包含了无需立即执行的代码,并且,与SRC属性联合使用,它还可以使这些脚本在后台被下载,前台的内容则正常显示给用户。但是 文档加载完毕了再执行脚本
请注意两点:
1、不要在defer型的脚本程序段中调用document.write命令,因为document.write将产生直接输出效果。
2、而且,不要在defer型脚本程序段中包括任何立即执行脚本要使用的全局变量或者函数。
一个常用的优化性能的方法是:当脚本不需要立即运行时,在<SCRIPT>标签中设置“defer”属性。 (立即脚本没有被包含在一个function块中,因此会在加载过程中执行。) 设置“defer”属性后,IE就不必等待该脚本装载和执行完毕。这样页面加载会更快。一般来说,这也表明立即脚本最好放在function块中,并在 document或者body对象的onload 句柄中处理该函数。在有一些脚本需要依赖用户操作而执行时----例如点击按钮,或者移动鼠标到某个区域----使用该属性非常有用。但当有一些脚本需要在页面加载过程中或加载完成后执行,使用defer属性得到的好处就不太大。
明天计划的事:完成任务2的功能实现部分,
继续看js高级程序设计,
修改以前的任务。。
遇到的问题及收获:开始看js高级程序设计,讲的很细,概念太多了,有的并不理解,看来不能急得慢慢消化
评论