<body>
<span style="background-color: red;">这是span</span>
<p style="background-color: red; display: inline;">这是p</p>
</body>
HTML技巧
1. loading=lazy 属性
性能优化。您可以使用该loading=lazy属性来推迟图像的加载,直到用户滚动到它们为止。
<img src='image.jpg' loading='lazy' alt='Alternative Text'>
window对象
BOM是Browser Object Mode的缩写,表示浏览器对象模型。ES是一种语言,跟具体环境没关系。DOM的作用是将文档转换为相应的对象,它跟具体环境也没有关系。而DOM则是一种将浏览器这个具体的环境对应为一种对象的模型,它提供了ES跟浏览器之间进行交互的桥梁。
因为DOM没有自己的标准,所以不同浏览器的实现细节并不相同,但是它们还是有很多统一的地方。
虽然BOM没有自己的标准,但是HTML5标准中对BOM中的对象都做了相应的规定。如果浏览器实现HTML5标准,那么BOM的结构也就有望趋向统一,这会使前端开发中令人无奈的浏览器兼容性问题得到一定改善。
HTML5是近几年非常热门的话题,它提供了很多使用功能,例如:
- 本地存储
- canvas作图
- WebSocket
- 多线程
- 获取地理位置
- 富文本编辑器
- 公式编辑器
本地存储
本地存储主要包含Cookie、Storage和IndexedDB数据库三种方式。
不同数据库存储上限:
Cookie: 4k
Storage: 5M(chrome),不同浏览器上限大小不同
IndexedDB: 无上限
本地存储就是指在浏览器中存储数据,是相对于服务器中存储数据来说的。
1. 本地存储的分类
浏览器的本地存储主要包括4种方式: Cookie、Storage、SQL数据库和IndexedDB。
Cookie
Cookie提出来得最早,其最初得设计目的只是为了保存用户得登录信息,所以并不适合保存大量数据。Cookie容量小,将保存得数据拼接成字符串得形式跟程序进行操作。没打开一个网址,浏览器都会将该网站下得所有Cookie数据全部传到服务器端,因为其最初得设计目的只是用来保护用户的登录信息(例如SessionId)。
学习一门计算机语言,先要弄清楚它是什么,学习的目的是什么,如何实现的,然后再又目标地进行系统的学习。
那它是什么呢?
Jsvascript的历史:
- javascript最初由网景(Netscape)公司于1995年开发的一种脚本语言,用于给HTML网页增加动态功能。【布兰登·艾奇(Brendan Eich)】、【Livescript->Javascript】
- 1996年11月,望京公司将Javascript提交给ECMA(欧洲计算机制造商协会)进行标准话,最后又网景、微软和Borland等公司组成的工作组指定了统一的标准—ECMA-262,命名为ECMAScript(简称ES)。【IE3-Jscript】
- 与ES对应的ECMA-262标准从1997年发布第一个版本到现在一共发布了6个版本。第6版于2015年6月份发布,正式命名为ES2015,因为是第6版,所以也可以称为ES6。
JS是解释性语言,所以不需要搭建类似C#/Java之类的开发运行环境,因为他们是编译型语言。JS一般运行在浏览器中或者node环境中,这里都是JS引擎的功劳。
node环境使用
推荐使用nvm管理node版本,nrm管理代理地址。
安装node:https://nodejs.org/en/
然后随便写一个JS文件,运行node命令运行即可:
语法
JS区分大小写
标识符
标识符就是变量、函数、属性或函数参数的名称。标识符由数字、字母、下划线、$组成,不以数字开头。推荐小驼峰命名规则。
注意:关键字、保留字、true、false和null不能作为标识符。
注释
// 单行注释
/* 单行注释 */
/* 多
* 行
* 注
* 释
*/
什么是直接量
直接量是指不需要创建对象就可以直接使用的变量。ES中的直接量主要有三种类型:表示字符串的string类型、表示数字的number类型和表示true/false的boolean类型。当我们直接将值赋给变量后,ES就会自动判断其类型,而且当参数发生变化后,其类型也会自动跟着变化,即ES时一种弱类型的语言。
直接量直接使用两块内存来保存它们的名值对,而不像对象类型需要3块内存。
直接量的封包与解包
ES中有一种叫做自动封包/解包的功能, 类似.net/java
中的装箱/拆箱,其作用时在程序执行过程中按照需要自动在直接量和其对象的对象类型间进行转化。将直接量转换为对应的对象进行处理叫封包,反过来,将对象转换为直接量叫解包。
在JavaScript中,除了基本类型(如字符串、数字、布尔值、null和undefined)之外,还有引用类型。引用类型包括对象、数组和函数。它们在内存中的存储方式与基本类型不同,因为它们在内存中存储的是对实际数据的引用,而不是实际数据本身。这意味着,如果你改变引用的值,它将影响所有使用该引用的地方。
关于内置的引用类型,说多不多,说少也不少,在这里就不将每一个进行展开的说了,有具体使用时,可以参考MDN文档,寻求使用方式。
在这里主要强调几个点: