JavaScript三大核心:ECMAJavaScript语法 DOM BOM
script也是逐行解析代码
1.ECMAavaScript语法
ECMA-26组织定义语法规范
包含语法,类型,语句表达式,关键字,保留字,操作符,全局变量
类型,值,对象,属性,函数,语法,语义这些可以深度了解
2.DOM
中文翻译是文档对象模型
DOM 控制网页的内容跟结构,API可以删除,添加,替换,修改节点。提供与网页内容交互的方法跟API
视图,事件,样式,遍历和范围,可伸缩矢量图,数学标记语言,同步多媒体集成语言
3.BOM
中文翻译浏览器对象模型
BOM 支持访问跟操作浏览器窗口,操控浏览器显示页面之外的部分。提供与浏览器交互的方法跟API
cookie的支持 |
更多的自定义对象支持 |
弹出新浏览器窗口的能力 |
移动,缩放和关闭浏览器窗口的能力 |
navigator对象,提供关于浏览器的详尽信息 |
location对象,提供浏览器加载页面的详尽信息 |
screen对象,提供关于用户屏幕分辨率的详尽信息 |
performance对象,提供浏览器内存占用,导航行为和事件统计的详尽信息 |
4.<script>的属性
script元素的属性 |
async:外部引用使用 下载脚本,不阻止其他网页行为(下载资源/等待其他脚本加载) |
charset: src属性知道代码字符集 很少使用 |
crossorigin:配置相关请求的CORS。默认不设置 |
defer: 延迟加载跟入口函数似的,只能用在外部引用。IE8以下支持 |
integrity:芝麻开门,加密签名不对,页面报错。用于确保内容分发网络不会提供恶意内容 |
language: 废弃 表示代码块中的脚本语言 |
src: 执行外部文件 |
type:废弃 代码块中脚本语言的内容类型 |
5.<script>两种样式
内部样式跟外部样式两种写法(推荐使用外部样式)
外部样式的好处:可维护性 缓存 适应性好(XHTML适用)
内部样式推荐一组script是一种功能,写在body内容最后——规范书写
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src:"外部样式"></script>
</head>
<body>
<div></div>
<script>
console.log("内部样式");
</script>
</body>
</html>
6.<script>推迟执行脚本
defer属性:针对外部文件有效,延迟执行等到整个页面加载成功,再去加载JS脚本
7.<script>异步执行脚本
async属性:针对外部文件有效,延迟执行 但是不能保证执行顺序(最好不用)
8.DOM动态加载脚本
DOM创建添加script 逼格满满,装逼党的不二之选。摸鱼党划过即可
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="preload" href="文档头部显式声明 路径">
</head>
<body>
<script>
let script = document.createElement('script');
script.src = '路径,加上link设置为同步加载';
script.async = false;
document.head.appendChild(script);
</script>
</body>
</html>
9.XHTML的变化&文档模式
我也不懂XHTML O(∩_∩)O哈哈~
文档模式:混杂模式&标准模式
准标准模式:以后新型的
10.<noscript>元素
当浏览器不支持JS,或者是关闭了JS,才实行的代码 上才艺
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<noscript>
<p>This page requires a JavaScript-enabled browser.</p>
<p>此页面需要启用JavaScript的浏览器。</p>
</noscript>
</body>
</html>