JavaScript
一、JavaScript的概述
JavaScript是作为一门世界上最流行的语言,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
二、JavaScript的引入
2.1内部标签引入
<script>
alert('我‘);
</script>
在script标签内部写JavaScript代码。
2.2外部引入
<script src="js/qj.js"></script>
<script type="text/javascript"></script>
这里不用显示定义type,默认就是
三、JavaScript的准备
在JavaScript中是严格区分大小写的。
变量的定义:
变量类型 变量名=变量值;
<script>
var num = 1;
alert(num);
</script>
console.log(score) 是在浏览器的控制台打印变量。
四、JavaScript数据类型
JavaScript数据类型包含有数值,文本,图形,音频,视频等等。
4.1number
JavaScript是不区分小数和整数的;其中:
123 //整数
123.1 //浮点数
123.1 1.123e3 //科学计数法
-99 //复数
NaN //不是一个数
Infinity //表示无穷大
4.2字符串
字符串有:
‘abc’ “abc”
4.3布尔值
布尔值有:
true,false
4.4逻辑运算
&&:两个都为真,结果为真
||:一个为真,结果为真
!:真为假,假为真
4.4比较运算符
=
==:等于(类型不一样,但是值一样,同样也会判断为true)
===:绝对等于(类型一样,值也一样,结果为true)
注意:
1.这里有一个JavaScript的缺陷,尽量不要使用==来比较。
2.NaN===NaN,这个与所有的数值都不相等,包括自身。
3.只能通过isNaN(NaN)来判断这个数是否是NaN。
4.5浮点数
浮点数有:
console.log((1/3) === (1-2/3))
应尽量避免使用浮点数进行运算,因为存在精度问题。
Math.abs(1/3-(1-2/3))<0.00000001
4.6null和undefined
null为:空
undefined为:未定义
4.7数组
在JavaScript中不需要数值必须是相同类型的对象。
//保证代码的可读性,尽量使用[]
var arr = [1,2,3,4,5,'hello',null,true];
new Array(1,12,3,4,5,5,'world');
取数组下标:如果越界了,就会出现:
undefined
4.8对象
在JavaScript中,对象是大括号,数组是中括号。
每一个属性之间使用逗号隔开,最后一个不需要添加。
//Person person = new Person(1,2,3,4,5);
var person = {
name:"deng",
age:15,
tags:['js','java','web','...']
}
取对象的值:
person.name
>"deng"
>person.age
>>15
五、严格检查模式
在JavaScript中,有严格检查模式,则:
‘use strict’; :为严格检查模式,可以预防JavaScript的随意性导致产生的一些问题,其必须写在JavaScript的第一行。
注意:局部变量尽量都使用 let 去定义。
六、字符串
正常的字符串我们使用单引号,或者双引号包裹。
6.1转义字符 \
转义字符有:
’
\n
\t
\u4e2d \u#### Unicode字符
\x41 Ascll字符
6.2多行字符串编写
//tab
var msg =
hello
world
你好ya
你好
6.3模板字符串
//tab
let name = "deng";
let age = 15;
let msg = 你好呀,${name}
6.4字符串长度
字符串长度为:
str.length
6.5字符串的可变性,不可变
console.log(student[0])
s
undefined
student[0] = 1
console.log(student)
student
undefined
6.6大小写转换
//注意:这里使用的是方法,不是属性
student.toUpperCase()
student.toLowerCase()
6.7substring
[)
student.substring(1) //从第一个字符串截取到最后一个字符串
student.substring(1,3) //[1,3)
七、数组
数组都是为:存储数据(如何存取,方法都可以自己实现)
Array可以包含任意的数据类型,如:
var arr = [1,2,3,4,5,6]; //通过下标取值和赋值
arr[0]
arr[0] = 1
7.1长度
arr.length
这里需要注意:给arr.length赋值,数组大小就会发生变化;如果赋值过小,元素就会丢失。
7.2通过元素获得下标索引
在JavaScript中,我们可以通过indexOf来通过元素获得下标索引。
arr.indexof(2)
1
7.3slice
slice() 是截取Array的一部分,返回一个新的数组,类似于String中的substring
7.4push和pop
push():压入到尾部
pop():弹出尾部的一个元素
7.5unshift和shift
unshift():压入到头部
shift():弹出头部的一个元素
7.6排序sort
(3) ["B","C","A"]
arr.sort()
(3) ["A","B","C"]
7.7元素反转 reverse
(3) ["A","B","C"]
arr.reverse()
(3) ["C","B","A"]
7.8concat
(3) ["C","B","A"]
arr.concat([1,2,3])
(6) ["C","B","A",1,2,3]
arr
(3) ["C","B","A"]
注意:concat()并没有修改数组,只是返回一个新的数组。
7.9连接符join
连接符的作用计就是打印拼接数组,使用特定的字符串连接;
(3) ["C","B","A"]
arr.join('-')
"C-B-A"
7.10多维数组
arr = [[1,2],[3,4],["5","6"]];
arr[1][1]
4