OOP对象语义编程
1.对象
2.类
3.封装
4.聚合
5.继承
6.多态
变量的使用
1.声明变量 2.初始化变量,即给他一个初始值。
控制台
>var a;
>var thisIsAVariable;
>var _and_this_too;
>var mix12three;
变量名可以由字母,数字,下划线,及美元符号组成,但是不能以字母开头:
控制台
>var 2three4five;
变量的初始化,实际指变量的第一次赋值
(1)先声明变量,然后在初始化。
(2)声明变量与初始化同步进行。
控制台
>var a=1;
在单个var语句中同时声明多个变量并初始化
控制台
>var v1,v2,v3='hello',v4=42,v5;
或者
>var v1,
v2,
v3='hello',
v4=42,
v5;
操作符
控制台
>6%3;
0>5%
321
取模运算,即求除法运算的余数 % 取模运算可以测试一个整数的奇偶性, 只需让该数对2执行取模运算,返回值是1是奇数,返回值是0则是偶数。
控制台
>4%2;
0>5%
212
自增1运算++
(1)后置的++操作会先返回该值,在增1
控制台
>var a=123;
>var b=a++;
>b;
123
>a;
124
(2)前置的++操作会先增1,然后再返回
控制台
>var a=123;
>var b=a++
;<b;
124
>a;
1243
自减1运算--
(1)后置--操作
控制台
>var a=123;
>var b=a--
;>b;
123
>a;
122
(2)前置--操作
控制台
>var a=123;
>var b=--a;
>b;
122
>a;
122
基本数据类型数字型
数字型:(包括浮点数与整数)1,2,122,3.14
字符串:(任意数量字符) "a","one","one 2 three"
布尔值: true false
undefined 访问一个不存在变量或已声明未赋值的变量
null 只包含一个值的特殊数据类型 已经定义不代表任何东西
数据类型:基本类型 非基本类型(对象)
查看类型操作符------typeof
可能返回的结果
“number”;
“String”;
“boolean”;
“undefined”;
“object”;
“function”;
let ab = true;
console.log( typeof ab)
字符串字符串拼接返回的是两个字符串拼接之后的结果
控制台
>var s1="web";
>var s2="site";
>var s=s1+s2;
>s;
"website">typeof s;
"String"
逻辑运算符
!-------------逻辑非(取反)
&&------------逻辑与
||--------------逻辑或
如果新元素被添加的位置与原数组末端之间存在一定的间隔,那么这之间的元素将会被自动设定为undefined值
数组的的增删改查
栈方法
pop()结尾推出
let as=[1,2,3,4]
as.pop()
console.log(as)
1,2,3,
push()结尾推进
let as=[1,2,3,4]
as.push(6)
console.log(as)
1,2,3,4,6
队列方法
shift()开头推出
let as=[1,2,3,4,5]
as.shirt()
console.log(as)
12,3,4,5
unshift()开头推进
let as=[1,2,3,4,5]
as.unshirt(3)
console.log(as)
3,1,2,3,4,5
重排序方法
sort()从小到大排序
let as=[1,2,3,4,5]
as.sort()
console.log(as)
1,2,3,4,5
reverse()从大到小排序
let as=[1,2,3,4,5]
as.reverse()
console.log(as)
5,4,3,2,1
操作方法
数组的克隆
concat() 基于当前数组的所有项创建一个新的数组。
let as[1,2,3,4,5]
let bs=as.concat(6,7,8)
console.log(as)
1,2,3,4,5
console.log(bs)
1,2,3,4,5,6,7,8
splice()切片操作
splice()方法都会返回一个数组,该数组中包含从原数组中删除的项(如果没有删除任何项,则返回一个一个空数组)
删除:可以删除任意数量的项,只需指定两个参数
splice(0,2)会删除数组中的前两项
插入:可以指定位置插入任何数量的项,只需提供三个参数
splice(2,1,3,4)会从当前数组的位置2开始插入3,4
替换:可以指定位置插入任意数量的项,且同时删除任意数量的项,指定三个参数
splice(1,3,2,4)会删除当前位置2的项,然后再从位置2开始插入2,4
let as=[1,2,3,4,5]
as.splice(0,0,5)//从元素下标为0的元素开始,删除几个元素,添加的元素为5
slice()能够基于当前数组中的一或多个项创建一个新数组,接受一个或两个参数,要返回项的起始值和结束位置,在只有一个参数的情况下,slice()方法返回从该参数指定位置开始到当前数组末尾的所有项,如果有两个参数,该方法返回从起始位置和结束位置之间的项,但不包括结束位置的项;slice()方法不会影响原始数组。
let as=[1,2,3,4,5,6]
let bs=as.slice(1)
let cs=as.slice(1,4)//从位置1开始到位置3结束
console.log(bs)
2,3,4,5,6
console.log(cs)
2,3,4
位置方法
indexOf()从数组的开头开始向后查找 接收两个参数
//接收一个参数
let as=[1,2,3,4,5,6,5,4,3,2,1]
as.indexOf(3)
2
//接收两个参数
let as=[1,2,3,4,5,6,5,4,3,2,1]
as.indexOf(3,2)//前一个数是元素名,后一个数是元素下标
-1
lastindexOf() 从数组的末尾开始查找 接收两个参数
//接收一个参数
let as=[1,2,3,4,5,6,5,4,3,2,1]
as.lastindexOf(3)
2
//接收两个参数
let as=[1,2,3,4,,5,4,3,2,1]
as.lastindexOf(4,4)
3
let var const区别:
1.const定义的变量不可以修改,而且必须初始化。
2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错。
3.let是块级作用域,函数内部使用let定义后,对函数外部无影响。