JavaScript之script标签
学习编程,语法本身并不难,真正困难的是如何应用它来解决现实世界的问题。你要开始像程序员那样思考。一般来讲,这种思考包括了解你程序运行的目的,为达到该目得应选定的代码类型,以及如何使这些代码协同运行。
为达成这一点,我们需要努力编程,获取语法经验,注重实践,再加一点创造力,几项缺一不可。代码写的越多,就会完成的越优秀。
在b站刚开始学习javascript的时候,自己是一头雾水,不知道哪些语法是重点,哪些语法只要了解。但是通过慢慢地积累,自己知道了javascript引擎解析代码的机制,知道了javascript居然还可以开发服务器端的代码,现在对javascript的思想不再停留在前端页面的渲染。
上面引用的是MDN文档的话,我觉得说得很对,学习语法确实是不难,难得是如何灵活地使用对应的API函数去处理对应的场景,这种思想并不是一下子就能练成的,而是要通过日积月累的代码经验,才能深有体会!希望自己能坚持继续学习javascript!只有基础打牢固了,才不会脱离前端的一线开发!才能在内卷的计算机行业里,有自己的一席之地!
现在来说一下今天在MDN文档学到的知识点吧!
javascript是一门解释性语言,代码在由浏览器执行前,不需要将其转化为其他形式。代码将直接以文本格式被接收和处理。这个意思就是说,它不需要像C/C++语言一样,先要将高级编程语法通过编译器转化成机器能识别的语言,才能运行代码。
怎样向页面添加javaScript?
-
内部javaScript(后)
-
外部javaScript
-
内联javaScript
在外部引用javaScript会造成页面的堵塞,这是因为javaScript引擎是单线程,只能当前任务执行完毕,才会执行下一个任务,这种机制可能会导致javaScript操作DOM元素失败,因为当javascript代码执行完时,DOM元素可能还没有加载到页面上!
如何解决这个问题呢?
可以使用async/defer关键字来解决这个问题!
当使用async关键字来处理javascript文件的堵塞问题时,要注意加载的几个js文件他们是否有依赖关系,如果他们有依赖关系的话,可能会导致错误,这是因为我们不能确定js文件他们的完成顺序。所以async适应的场景是几个js文件他们都是独立存在的,他们之间没有任何的依赖关系。
defer关键字可以解决async不能解决的场景问题。当几个js文件他们之间有依赖关系的时候,我们可以使用defer关键字来指定js文件加载顺序,这样子在宏观上,我们可以想像成这几个js文件是同步加载的!