本文已参与[新人创作礼]活动,一起开启掘金创作之路。
对象
js有三大对象:本地对象、内置对象和宿主对象。(本地对象、内置对象为ECMAScript的内部的“内置”对象)
本地对象:原生对象或内部对象。
内置对象:js内置对象也被称为内部类。所谓的内部类,就是JavaScript里面封装好了的类。主要包括:Array,Boolean,Date,Math,Number,String,RegExp.....。
内置对象又可以分为静态类和动态类。
静态类:不需要new,直接调用这个类的属性或方法即可,例如:Math Math.pow()。
动态类:需要new,然后再调用对象的方法或者属性,例如:var arr =new Array(4,5,6); arr.push()
对象属性或方法操作:
创建一个对象,里面包含了该对象的属性和方法:
let person = {
name:"张三",
age:"18",
sing:function{
console.log("I can sing");
}
}
增加属性或方法
person.sex = "男"
person["sex"]= "男"
person.play = function(){
console.log("I can play ");
}
删除属性或方法
delete person.sex
delete person["sex"]
delete person.play()
修改属性或方法
person.sex = "女"
person["sex"] = "女"
person.play = function(){
console.log("I can playOne");
}
查看属性或方法
person.sex
person["sex"]
person.play()
如果通过关键词 "new" 来声明 JavaScript 变量,则该变量会被创建为对象:
var x = new String(); // 把 x 声明为 String 对象
数组
数组是一种特殊类型的对象,数组用于在单一变量中存储多个值。数组是一种特殊的变量,它能够一次存放一个以上的值。数组可以用一个单一的名称存放很多值,并且还可以通过引用索引号来访问这些值。
数组特点:
1. 下标从0开始,长度用length查询。
2. 数组定义时无需指定数据类型。
3. 数组定义时可以无需指定数组长度。
4. 数组可以储存任何数据类型的数据。
5. 一般是相同类型的数据。
数组的创建方式:
1. 字面量定义(常用)
let arr = []
2. 构造函数创建
let arr = new Array ()
let arr = new Array (值1,值2,值3)
指定数组长度:
new Array(size)
let arr = new Array(2);
定义了一个长度为2的数组:
arr[0] = "值1"
没定义的arr[1]则为undefined
数组的一些常用操作
push、pop、unshift、shift等操作。
arr.push()
arr.push("值1","值2")
向数组末尾添加一个或更多元素,返回值新数组的长度,原数组改变。
arr.pop()
删除数组最后一项,没有参数,返回值删除项,原数组改变。
arr.pop()
arr.unshift()
向数组开头位置添加一个或更多元素,返回值是新数组的长度,原数组改变。
arr.unshift("值1","值2")
arr.shift()
删除数组第一项,没有参数,返回值删除项,原数组改变。
arr.shift()
扩展操作
splice()、concat()、toString()等操作。
splice()原数组改变
splice(n,m)--从索引(下标)n开始,删除m个,返回值以数组的形式返回删除项。
splice(n)--从索引n开始删除到最后。
splice(0)--原数组清空,返回一个和原来一样的新数组。
splice(n,m,z);从索引(下标)n开始,删除m个,把z添加到删除的位置。
slice(n,m)从索引n开始,查找到索引m处,不包含m,将查找到的以新数组返回,原数组不变。
concat()原数组不改变
concat()数组的拼接,不改变数组,返回最终连接好的新数组。
使用concat方法时会将新数组的成员,添加到原数组的尾部,然后返回一个新数组,原数组是不会改变,即使是传入的其他类型的值,它们会作为新的元素,添加到数组末尾,同样不会改变原数组。
返回一个新的数组,如果有数组作为参数传入concat()方法里时,添加的是数组中的元素而不是数组本身。
数组转为字符串,不改变原数组
toString()
join('符号') (数组.join()可以直接转字符串)
清空数组
1. arr.splice(0);
2. arr.length = 0;
3. arr=[];
检验一个数是不是数组
Array.isArray(arr) 返回true或false
arr instanceof Array 返回true或false
Array.from(对象)可以将一个具有length长度的类数组(伪数组)转换成真正的数组。