数组对象
创建数组的两种方式
- 字面量方式
var arr = [1,"test",true];
- new Array()
var arr = new Array();
检测是否为数组
-
instanceof运算符
instanceof可以判断一个对象是否某是个构造函数的实例
var arr = [1,23];
var obj = {};
console.log(arr instanceof Array)//true
console.log(obj instanceof Array)//false
- Array.isArray()
Array.isArray()用于判断一个对象是否为数组
var arr = [1,2];
var obj = {};
console.log(Array.isArray(arr));//true
console.log(Array.isArray(obj));//false
添加删除数组元素的方法
var arr = ['初始数据']
arr.push('') //后添一个
arr.pop() //后删一个
arr.unshift('') //前填一个
arr.shift() //前删一个
document.write(arr)//初始数据
- 数组排序
- 使用sort()做升降排序
降序
方法一:
var num = [3,1,5,6];
num.sort(function(a,b){
retrun b-a;
})
console.log(num)
方法二:
num.sort((a,b) => b - a);
升序
var num = [3,1,5,6];
num.sort(function(a,b){
retrun b-a;
})
console.log(num)
- 数组索引方法
- 数组转换为字符串
⭐⭐toString
var a = [2,3,4,1,6];
a = a.toString();
document.write(typeof a) //输出string
join
var a = [2,3,4,1,6];
a = a.join('|');
document.write(typeof a)//输出string
document.write(a)
concat
var a = [2,3,4,1,6];
var b = ['一','二','三'];
var c = a.concat(...b)
document.write(c)
//输出2,3,4,5,6,一,二,三
//slice
var a = [2,3,4,1,6];
var c =a.slice(0,2)
document.write(c)//输出2,3
//splice()
var a = [2,3,4,1,6];
a.splice(1,2)
document.write(a)//输出2,1,6
字符串对象
- 根据字符串返回位置
- 根据位置返回字符
- 字符串操作对象
- replace()方法
replace()方法用于在字符串中用一些字符替换另一些字符
符串.replace(被替换的字符串,要替换的字符串)
- split()方法
用于切分字符串,可以将字符串切分成数组。并返回一个新数组
字符串.split('分割字符')
**
创建对象
**
- 使用new关键字调用的函数,是构造函数constructor
- 构建函数是专门用来创建对象的函数
var obj = new Object();
console.log(obj);
- 在对象中保存的值称为属性
- 向对象添加属性
- 语法:对象.属性名 = 属性值
- 可以把对象看成一个塑料袋,向里面添加的值就是往塑料袋里装的各种东西
obj.name = "蔡徐坤"
obj.size = "明星"
obj.age = "18"
console.log(obj)
读取对象
console.log(obj.name)
修改属性值
obj.name = "坤坤"
console.log(obj.name)
- 语法:对象.属性名 = 新值
删除对象属性
delete obj.属性名
语法:delete 对象.属性名
属性名
- 对象的属性名不强制要求遵守标识符的规范
- 如果使用特殊的属性名,需要使用
- 对象[“属性名”] = 属性值
**
- 读取特殊属性名也用此方法
**
- 基本数据类型和引用数据类型
- 基本数据类型
string、number、boolean、null、undefined
- 引用数据类型
object
js中的变量都是保存在栈内存中的,基本的数据类型的值直接在栈内存中存储,值与值之间是独立存在,修改一个变量不会影响其他变量。(保存值)
- 对象是保存在堆内存中的,每创建一个新的对象,就会在堆内存中开辟一个新的空间,而变量保存的是
- 对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当一个变量通过一个变量修改属性时,另一个的也会收到影响。(保存地址)