1.HTML是什么
HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,由开发者编写的HTML文件会在浏览器中被加载和解析,然后通过一个页面表现给使用者。
HTML 不是一种编程语言,而是一种标记语言 (markup language)。
HTML 使用标记标签来描述网页
浏览器加载和渲染html的顺序
IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都已经下载完)。如果遇到语义解释性的标签嵌入文件(JS脚本,CSS样式),那么此时IE的下载过程会启用单独连接进行下载。样式表在下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有元素(含以前已经渲染的)重新进行渲染。JS、CSS中如有重定义,后定义函数将覆盖前定义函数
HTML Parser 生成的 DOM 树(文档对象模型)和CSS Parser 生成的 Style Rules ,生成一个新的对象,也就是我们常说的 Render Tree 渲染树,结合 Layout 绘制在屏幕上,从而展现出来。
2. HTML常用标签
HTML详细教程请参考:
基本结构
骨架标签
页面中最大的标签, 称为根标签. 文档的头部
文档的标题 文档的主体, 页面内容基本都放到body中 文档类型声明 :作用是告诉浏览器使用html5来显示网页,必须写在最前面 lang语言种类:en为英语, zh-CN为中文. 字符集:在标签内, 通过标签的charset属性来规定.
常用标签
标题
段落
把标签内的文字显示出来,一个标签一段
换行
文本格式
div和span标签
超链接标签
href用于指定链接目标的url地址, 是必须属性.
target用于指定链接的打开方式, _self为默认值(当前窗口打开), _blank(新建窗口打开)
表格标签
输出:
表单标签
组成: 一个完整的表单由表单域, 表单控件(表单元素)和提示信息三部分构成.
作用: 收集用户信息, 并提交
1.表单域
作用:
标签用于定义表单域, 以实现用户信息的收集和传递.
语法格式:
常用属性:
表单控件
input: 输入表单元素
select: 下拉表单元素
textarea: 文本域表单元素.
1.input
属性:
其他属性:
name: 自定义表单的名字(单选按钮和复选框要有相同的name值)
value: 自定义input元素的值
checked=“checked” 规定次input元素首次加载时应被选中(主要针对单选按钮和复选框)
2.select
多个选项让用户选择
selected="selected"表示预先锁定该选项
3.textarea文本域元素
用于定义多行文本输入空间, 常见留言板, 评论等.
4.label标签
而JavaScript是页面的行为。
概念 :一门客户端脚本语言
运行在客户端浏览器中的,每一个浏览器都有一个JavaScript的解析引擎。脚本语言:不需要编译,直接就可以被浏览器解析执行了。 功能:
可以用来增强用户和html页面的交互过程,用来控制html元素,让页面有一些动态效果,增强用户的体验。
JS解析过程:JS也是由浏览器进行解析,当浏览器运行整个页面文档时(html文件),遇到
1、预解析阶段
这个阶段,JS解析器从上到下搜索代码,只去寻找一些关键字如var,function这些内容,找到这些内容后,相关的所有的变量都会被先赋值为undefined(这也就是变量提升为啥值会是undefined的具体原因),所有的函数变量都为函数块。
如果这个阶段遇到变量重名的问题,有以下规则:
变量和函数声明重名了,只留下函数;函数和函数重名了,根据代码的上下文顺序,留下最后一个。
2、逐行解读代码。
这个阶段的变量赋值表达式可以修改上一步预解析的值。
如果有多个表达式对相同的变量多次赋值,那么除过函数声明不能修改上次的赋值,变量赋值和函数表达式都可以修改这个变量的值。
使用
JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript代码放到中把JavaScript代码放到一个单独的.js文件,然后在HTML中通过引入这个文件
JavaScript数据类型
JavaScript数据类型有2大分类:一是“基本数据类型”,二是“特殊数据类型”。
其中,基本数据类型包括以下3种:
(1)数字型(Number型):如整型,浮点型;
(2)字符串型(String型);
(3)布尔型(Boolean型):true或fasle;
特殊数据类型有3种:
(1)空值(null型);
(2)未定义值(undefined型);
(3)转义字符;(如\n、’、")
注释
定义变量的几种方式
js中三种定义变量的方式const, var, let
1.const定义的变量不可以修改,而且必须初始化。
2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错。
3.let是块级作用域,函数内部使用let定义后,对函数外部无影响。
1和2都比较容易理解,对于let,我们通过代码来进一步了解他
输出:
与var区别:
可以看到函数内部使用let定义后,对函数外部无影响。
函数,就是一个一系列JavaScript语句的集合,这是为了完成某一个会重复使用的特定功能。在需要该功能的时候,直接调用函数即可,而不必每次都编写一大堆重复的代码。并且在需要修改该功能的时候,也只要修改和维护这一个函数即可。
总之,将语句集合成函数,好处就是方便代码重用。并且,一个好的函数名,可以让人一眼就知道这个函数实现的是什么功能,方便维护。
函数的使用只需要2步:
(1)定义函数;
(2)调用函数;
用function关键字来定义函数。
有(1)不指定函数名的函数;
(2)指定函数名的函数;
定义函数必须使用function关键字来定义。
函数名必须是唯一的,尽量通俗易懂,并且跟你定义的代码有关。
函数可以使用return语句将某个值返回,也可以没有返回值。
参数是可选的,可以不带参数,也可以带多个参数。如果是多个参数的话,参数之间要用英文逗号隔开。
1.html中选择js文件
2.在js文件中写出函数并执行
3.在html中显示出js执行结果
在JavaScript中,常用的内置函数有7个:
(1)eval()函数
eval()可以把一个字符串当做一个JavaScript表达式一样去执行它
就是执行“document.write('JavaScript入门教程 ')”
(2)isFinite()函数
isFinite()函数用来确定某一个数是否是一个有限数值
如果该参数为非数字、正无穷数和负无穷数,则返回false;否则的话,返回true。如果是字符串类型的数字,就会自动转化为数字型。
(3)isNaN()函数
isNaN() 函数用于检查其参数是否是非数字值。
(4)parseInt()函数和parseFloat()函数
用于数据类型转换
将字符串型转换为整型,前提是字符串一定要是数值字符串,而不能带英文。
(5)escape()函数和unescape()函数
escape()函数主要作用就是对字符串进行编码,以便它们能在所有计算机上可读。
unescape()函数和escape()函数是刚好反过来的,escape()函数是编码,unescape()函数是解码。
空格符对应的编码是“%20”,感叹号对应的编码是“%21”