001--ECMAScript之script

 ECMAScript在百科上的解释为:ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言.我们知道一般我们称为js的语言包括三部分:1.ECMAScript 2.DOM 3.BOM .本系列博客是自己对js学习和使用的复盘.

JavaScript是什么?是一门脚本语言  是一门解释性语言  是一门动态类型的语言  是一门基于对象的语言 . js原名不是JavaScript,而是LiveScript

JavaScript书写格式
1.行内样式: 写在标签内部
2.内嵌样式(内联样式) : 写在一对head或者body标签中
3.外链样式: 写在一个单独的.js文件中, 再导入进来
JavaScript书写注意点
1.不推荐直接将js代码书写到标签内部
2.默认情况下浏览器会从上至下解释代码,如果想将JavaScript写到一对head标签中, 并且需要在JavaScript代码中操作界面上的元素, 那么必须加上window.onload = function(){操作界面元素的JavaScript}
3.由于默认情况下浏览器会从上至下的解析网页, 所以如果想通过JavaScript操作界面上的元素只需要等到元素被加载解析之后操作就可以了, 所以我们还可以将JavaScript代码写到body结束标签的前面

  延伸:1.当浏览器在执行JavaScript代码时,不能同时做其他事情.事实上,多数浏览器使用单一进程来处理用户界面(UI)刷新和JavaScript脚本执行,所以同时刻只能做一件事.JavaScript执行过程越久,浏览器等待响应的时间越长.简单说,这意味着<script>标签的出现让页面等待脚本的解释和执行.把脚本放到页面顶部将会导致明显的延迟,通常表现为显示空白页面,用户无法浏览内容,也无法进行与页面进行交互,大多数新版本的浏览器可以并行下载JavaScript文件.但这个过程仍然会阻塞其他资源的下载.推荐将所有的<script>标签放到<body>标签的底部,以尽量减少对整个页面下载的影响.
 
  由于每个<script>标签初始下载时都会阻塞页面的渲染,所以减少页面包含的<script>标签数有助于改善这一情况,也会减少多余的HTTP请求带来的额外性能开销
  除IE外,浏览器会在<script>元素接收完成时触发一个load事件.script.load=function(){}. IE是另一种方式,它会触发一个readystatechange时间,<script>元素提供一个readystate属性,详情请自行查询文档
  推荐的script加载方式为动态加载js,动态创建<script>标签,文件的下载和执行不会阻塞页面其他进程,loadscript可以内联到页面中从而减少HTTP请求,详情见lazyLoad
                                                         ---<<高性能JavaScript>>
 
2.jquery 的ready() 与window.onload()的区别 : window.onload() 必须等待网页全部加载完毕(包括图片等),,然后再执行JS代码,只能执行一次,如果第二次,那么第一次的执行会被覆盖   $(document).ready():只需要等待网页中的DOM结构加载完毕,就能执行JS代码,可以执行多次,第N次都不会被上一次覆盖 

如果当前加载的JavaScript文件不会操作当前页面的DOM元素,可以在<script>defer来延迟脚本的加载
2019-05-08

猜你喜欢

转载自www.cnblogs.com/ccbest/p/10832770.html