文章目录
1、什么是Javascript
1.1、概述
JavaScript 是一门世界上最流行的脚本语言
java、JavaScript
一个合格后端人员,必须精通Javascript
1.2、历史
ECMAScript 它可以理解为是Javascript的一个标准
2、快速入门
2.1、数据类型
数值,文本,图形,音频,视频…
变量
var
number
JS不区分小数和整数,Number
123 //整数123
123.1 //浮点数123.1
1.123e3 //科学计数法
-99 //负数
NaN //not a number
Infinity //表示无限大
字符串
‘abc’ ‘‘abc’’
布尔值
true false
逻辑运算
&& 两个真,结果真
|| 一个真 结果真
! 真为假,假为真
比较运算符
=
== 等于(类型不一样,值一样, 也会判断为true)
=== 绝对等于(类型一样, 值一样,结果才为 true)
这是JS一个缺陷吧,坚持不用 == 比较哦
须知:
- NaN===NaN ,这个与所以的数值都不相等,包括自己
- 只能通过 isNaN(NaN) 来判断这个数是否是NaN
浮点数问题:
尽量避免使用浮点数进行运算,有精度问题!
null 和 undefined
-
null 空
-
undefined 未定义
数组
java 数组必须相同类型对象 ,JS 不必须
取数组下标 :如果越界了,就会 undefined
对象
对象是大括号,数组是中括号
每个属性之间逗号隔开,最后一个不需要.
2.2严格检查格式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
/*前提: IDEA 需要设置支持ES6 语法
'use strict'; 严格检查模式,预防JavaScript 的随意性导致产生的一些问题
必须写在JavaScript的第一行~!
局部变量建议都使用 let 去定义~
*/
<script>
'use strict';
// 全局变量
let i =1
// ES6 let
</script>
</head>
<body>
</body>
</html>
3、数据类型
3.1、字符串
1、正常字符串用 单引号,或者双引号包裹
2、注意转义字符 \
3、多行字符串编写
tab 上边,esc下边的符号
` `
4、模板字符串
let msg =`你好呀,${name}`
5、字符串长度
str.length
6、字符串的可变性:不可变
7、大小写转换
//注意,这是方法,不是属性了
student.toUpperCase
student.toLowerCase
8、student.indexOf(‘t’)
9、substring
[)
student.substring(1)// 从第一个字符串截取到最后一个字符串
student.substring(1,3)// [1,3)
3.2、数组
Array 可以保护任意的数据类型
var arr =[1,2,3,4,5,6,"1","2"]; //通过下标取值和赋值
arr[0]=1
1、长度
arr.length
注意: 加入给 arr.length赋值,数组大小就会发生变化~,如果赋值过小元素就会丢失
2、indexOf,通过元素获得下标索引
arr.indexOf(2)
1
字符串的 “1”, 和数字 1 是不同的
3、slice () 截取Array 的一部分 ,返回一个新数组,类似String 中的 substring
4、 push , pop() 尾部
push : 压入到尾部
pop : 弹出尾部一个元素
5、unshift() ,shift () 头部
6、排序sort()
7、元素反转 reverse ()
8、concat()
9、连接符 join
数组: 存储数据 (如何存和取,方法都可以自己实现!)
3.3、对象
若干个键值对
JS 中对象{……}表示一个对象, 键值对描述属性 xxxx:xxxx , 多个属性用逗号隔开,
最后一个属性不加逗号!
3.4、流程控制
3.5、Map 和 Set
3.6、iteraotr
遍历数组
//通过for of / for in 下标
'use strict'
var arr =[3,4,5];
for (let x of arr){
console.log(x)
}
// 遍历map
var map =new Map([["tom",100],["jerry",92],["haha",67]]);
for (let x of map){
console.log(x)
}
// 遍历set
var set =new Set([5,6,7]);
for (let x of set){
console.log(x)
}
4、函数
4.1、定义函数
定义方式一
绝对值函数
function abs(x){
if (x>=0){
return x;
}else{
return -x;
}
}
一旦执行到 return 代表函数结束,返回结果!
如果没有执行 return ,函数执行完也会返回结果 ,结果就是 undefined
定义方式二
var abs=function (x){
if (x>=0){
return x;
}else{
return -x;
}
}
调用函数
abs (-2) // 10 方法名(参数)
abs (2) // 10
javaScript 可以传参数,也可以不传参数~
在这里插入图片描述
4.2、 变量的作用域
在 JavaScript 中 ,var 定义变量实际是有作用域的。
4.3、方法
定义 方法
方法就是把函数放在对象的里面 , 对象只有两个东西: 属性和方法
apply
5、内部对象
标准对象
typeof '123'
"string"
typeof 213
"number"
typeof true
"boolean"
typeof NaN
"number"
typeof []
"object"
typeof {}
"object"
typeof Math.abs
"function"
typeof undefined
"undefined"
5.1、Date
基本使用
var now =new Date();//Fri Apr 16 2021 21:59:07 GMT+0800 (中国标准时间)
now.getFullYear();//年
now.getMonth();//月
now.getDate();//日
now.getDay();// 星期几
now.getHours();// 时
now.getMinutes();//分
now.getSeconds();//秒
now.getTime();//时间戳 全世界统一 1970 1.1 0:00:00
console.log(new Date(1618582151439))//时间戳转化为时间
转换
now.getFullYear();
2021
now.getMonth();
3
now.getDate();
16
now.getDay();
5
now.getHours();
22
now.getMinutes();
9
now.getSeconds();
11
now.getTime();
1618582151439
console.log(new Date(1618582151439))
VM768:1 Fri Apr 16 2021 22:09:11 GMT+0800 (中国标准时间)
5.2、JSON
json 是什么
5.3、Ajax
6、面向对象编程
原型对象
- 类:模板,原型对象
- 对象:具体的实例
class继承
1、定义一个类,属性, 方法
2、继承
原型链
__ proto__:
7、操作BOM对象(重点)
JavaScript 和 浏览器关系?
JavaScript 诞生就是为了能够让他在浏览器中运行!
BOM: 浏览器对象模型
- IE
- Chrome
- Safari
- FireFox
三方
- QQ浏览器
- 360浏览器
window
Navigator
screen
8、操作DOM对象 (重点)
DOM : 文档对象模型
这是原生代码, 之后尽量用 jQuery 来做
insertBefore:newNode插入到targetNode的前面
9、操作表单(验证)
表单提交
10、jQuery
事件
操作DOM