JavaScript基础


JavaScript基础

e01428034bcfe96784ca8897be09fb9a

JavaScript1 JavaScript概述2 JavaScript基础语法2.1 引入方式2.2 数据类型2.3 字符串类型2.4 对象类型2.5 数组类型2.6 流程控制2.6 Map和Set集合2.7 函数定义2.8 变量作用域2.9 方法定义2.10 Data对象2.11 JSON对象3 JavaScript面向对象3.1 原型继承3.2 Class继承3.3 原型链4 JavaScript操作BOM对象5 JavaScript操作DOM节点5.1 获取DOM节点5.2 更新DOM节点5.3 删除DOM节点5.4 创建DOM节点5.5 表单操作5.6 表单验证6 JQuery简单入门6.1 JQuery事件

JavaScript

1 JavaScript概述

ECMAScript

JavaScript的一个标准

  • ES5:全部浏览器支持
  • ES6:开发常用的版本

浏览器控制台使用

简单介绍

image-20211130113214431

控制台

image-20211130112424502

输入指令

调试

image-20211130112325547

设置断点,然后刷新网页进行调试

2 JavaScript基础语法

2.1 引入方式

1.内部script标签

xxxxxxxxxx
3123

2.外部引入

xxxxxxxxxx
11

快速使用:

xxxxxxxxxx
22123456710111213141516171819202122
xxxxxxxxxx
11

2.2 数据类型

number(不区分小数,整数)

xxxxxxxxxx
6123456

字符串

xxxxxxxxxx
3123

逻辑运算

xxxxxxxxxx
3123

比较运算

xxxxxxxxxx
212

判断是否为NaN使用isNaN()判断

NULL与undefined

  • null 空
  • undefined 未定义

快速使用数据类型

xxxxxxxxxx
33123456789101112131415161718192021222324252627282930313233

2.3 字符串类型

xxxxxxxxxx
27123456789101112131415161718192021222324252627

2.4 对象类型

xxxxxxxxxx
39123456789101112131415161718192021222324252627282930313233343536373839

2.5 数组类型

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354

2.6 流程控制

xxxxxxxxxx
33123456789101112131415161718192021222324252627282930313233

2.6 Map和Set集合

xxxxxxxxxx
18123456789101112131415161718

2.7 函数定义

xxxxxxxxxx
4012345678910111213141516171819202122232425262728293031323334353637383940

2.8 变量作用域

x
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051

2.9 方法定义

x
123456789101112131415161718192021222324252627282930

2.10 Data对象

12123456789101112

2.11 JSON对象

xxxxxxxxxx
15123456789101112131415

3 JavaScript面向对象

3.1 原型继承

一个对象的原型为另一个对象,这个对象就会有原型对象的属性(但是这里的原型继承是类似类嵌套的关系,原型对象相当于嵌套进当前对象,使得当前对象可以使用原型的方法)

x
1234567891011121314151617181920

3.2 Class继承

ES6新特性,Class的机制与Java中的类似(但是JS的本质还是把Class转化成原型继承

xxxxxxxxxx
12345678910111213141516171819202122232425262728293031

3.3 原型链

简单理解原型与原型链的概念

1. 函数 与 prototype

定义一个Person函数:

x
123456

会发现函数是有原型对象的 Person函数存在一个Person.prototype对象,而这个函数就作为这个对象的构造函数,形成了如下的关系:

原型链

2. 原型继承

使用Person构造器创建一个对象ZhangSan

xxxxxxxxxx
11

这时就有了以下的关系:

原型链(2)

给ZhangSan增加name属性:

x
1

查看ZhangSan的结构:

image-20211130175642435

发现ZhangSan的原型对象中同时存在name属性,如果ZhangSan没有name属性就会向下找到ZhangSan原型中name = "Person",所以可以看出原型是类似嵌套的方式继承的(或者说类似子类重写父类的属性)

3. 原型链

继续往下查看原型对象的原型

x
1234

通过上面三条判断语句得出了下面的结构:

原型链(3)

可以看出Object的原型对象没有原型了,指向了NULL这时就可以停止检查了,这就是我们创建对象的原型链的结构了

测试代码:

x
1234567891011121314151617181920212223242526

4 JavaScript操作BOM对象

BOM:浏览器对象模型

Window

浏览器窗口

x
12345678

Navigator

navigator,封装浏览器信息

xxxxxxxxxx
1123456

navigator,会被人为修改

screen

屏幕属性:

xxxxxxxxxx
11234

location

代表当前页面的URL信息,可以用来设置重定向

5 JavaScript操作DOM节点

5.1 获取DOM节点

html:

x
12345

js:

x
123456789

获取到了DOM节点就能操作DOM节点了

5.2 更新DOM节点

操作DOM节点,动态添加文本与样式

html:

xxxxxxxxxx
3123

js:

x
123456

5.3 删除DOM节点

html:

xxxxxxxxxx
512345

js:

x
123456

5.4 创建DOM节点

html:

6123456

js:

xxxxxxxxxx
12345678910111213141516171819202122

test.js:

6123456

5.5 表单操作

html:

111234567891011

js:

x
12345678910111213141516

5.6 表单验证

前端检查的好处:减少服务器压力,但是会被修改代码绕过检查

html:

x
1567891011121314151617181920212223242526

js:

x
123456789101112131415161718192021222324252627282930313233343536373839404142

css:

x
123456789101112131415161718192021

6 JQuery简单入门

需要下载JQuery并导入

xxxxxxxxxx
1123456789

6.1 JQuery事件

获取鼠标位置:

x
1234567891011121314151617181920212223242526272829303132