js学习笔记
一:js数据类型
1:基本数据类型
number类型(整数,小数)
String类型
boolean类型
NaN类型其实是一个number类型表示它不是一个
null类型其实也是一个object类型的指代的是空对象的引用
undefined类型表示一个变量没有被初始化
2:引用数据类型
object
如果想知道一个变量所属的数据类型可以用typeof操作符
二:数组
1:数组的定义:类似于java中的map容器,数组的内容不一定是相同类型的数据
第一种方法:
var arr = new Array();
arr.push;
第二种方法:
var arr = [1,2,3,true,"adsas"];
2:常用方法:push,pop,shift,unshift,splice,slice,concat,join,sort,reverse
数组的大小是可以任意改变的 如:arr.length = 5;强制将数组的长度改为5
push 方法:直接操作数组
我们有的时候需要在数组中加入一个或者多个数据这时候我们可以用push方法
eg:arr.push(null);[1,2,3,true,"adsas",null]
pop方法:直接操作数组
从现有数组中弹出最后一个数据出来并且删除最后一个数据
eg:arr.pop(); //null
shift方法:直接操作数组
删除第一个元素并且返回第一个元素的值
eg:arr.shift();//1
unshift方法:直接操作数组返回一个新的数组
在数组的首部插入一个数组或者元素
eg:arr.unshift(a2);返回一个新的数组
splice方法:直接操作数组放回一个删除了的数组,第一个参数是从哪个位置开始删除,
第二个参数是要删除的元素个数
第三个参数表示追加的新元素个数
arr = [1,2,3,true,"adsas"]
eg:arr.splice(1,2,3,4,5);//[1,3,4,5,true,"adsas"]
slice方法:不直接操作数组,纯粹的截取数组,参数是左开右闭,类似于java字符串操作
eg:var sliceResult = arr.slice(0,3);//截取的是arr[0],arr[1],arr[2]
返回一个截取的数组sliceResult因为之前的arr数组没有改变
concat方法:不直接操作数组,是做数组的链接,返回一个链接之后的数组对象
但是该方法只针对number | string | boolean
var a1 = [1,2,3,4,5,true];
var a2 = [false,"asda",null,undefined];
var a3 = a1.concat(a2);//[1,2,3,4,5,true,false,"asda",undefined]
join方法:不直接操作数组,将数组按照特定的分隔符进行分割
var a1 = [1,2,3]
a1.join("-"); //[1-2-3]
console.log(a1); [1,2,3]
sort方法:直接操作数组,将数组按照字符的编码顺序进行排序,数字也当成字符进行处理例如:以下例子:
var map1 = [3,20,9];
map1.sort(); //[20,3,9];
排序的时候只比较数字的第一个数字20的第一个数字就是2所以将2放到了最前面。
在例如:
var map2 = [120,190,180,110];
map2.sort(); //[110,120,180,190]
如果是一位数,二位数,三位数或者更多位数进行比较的时候首先是比较第一个字符谁大谁小,大的排到后面
var map3 = [110,1,11,8,20,130,100]
map3.sort();//[1,100,11,110,130,20,8]