JS中的所有事物都是对象
内置对象,自定义对象
对象是带有属性和方法的特殊数据类型
对象名.属性名称
对象名.方法名称(参数表)
内置对象
console.log(window);
下面是咱们自定义的对象
字面量定义对象
let obj = {};
给对象增加name属性 值为张三
obj.name = "张三"
给对象增加fn属性 值是一个函数
obj.fn = function(){
console.log('fn')
}
console.log(obj);
定义 三个数组 分别是 三组学生的信息 第一组 姓名 年纪 性别 。。。 把三个数组 拼接起来 使用两种方式
数组中的splice方法 可以对数组进行增删改,splice()里面有三个参数
-
第一个参数表示 你要操作的数组元素的索引
-
第二个参数表示 你要从你选择的索引开始要删除的个数
-
第三个参数表示 你要添加的数组元素 let arr = ['张三','李四','王五'];
删除李四
arr.splice(1,1)把王五修改成丽丽
arr.splice(2,1,'丽丽')
添加 你想在哪里添加就在哪里添加
把倩倩放在数组索引为2的位置 因为第二个参数是0 所以王五不会被删除
arr.splice(2,0,'倩倩')
使用splice在数组的末尾添加 arr.splice(3,0,'倩倩')
在任意数组末尾的位置进行添加
arr.splice(arr.length,0,'倩倩')
console.log(arr);
写一个数组 里面有姓名 年纪 性别 展示在页面上,写三个按钮 点击 可以实现 数组的末尾添加一个信息 删除年纪 修改性别 点击完成之后 数组的最终结果使用alert打印出来
let arr = ['张三',20,'男'];
document.write(arr);
function fn(str){
if(str=='add'){
arr.splice(arr.length,0,'奔驰')
alert(arr)
}
if(str=='del'){
arr.splice(1,1)
}
if(str=='update'){
arr.splice(1,1,'女')
alert(arr)
}
}
push在数组的末尾添加一个元素
pop 删除数组的最后一个元素
shift 删除数组的最前面的一个元素
unshift 在数组的最前面添加一个数组
let arr = ['张三','李四','王五']
arr.pop();
arr.shift();
arr.unshift('丽丽')
写一个数组 写 4个 按钮可以 对数组的 前后 进行 添加和删除 把结果alert出去
字面量的方式创建数组
let arr = ['张三','李四','王五'];
let num = [11,22,33,44]
console.log(arr);
数组的下标从0开始
构造函数的方式创建
new Array(size);
表示数组中可存放的元素总数 规定了总数 但是添加一个数 总数也会增加
new Array()实例化一个数组对象
let arr = new Array(3)
arr = [1,2,3,4]
声明时赋值
let arr = new Array(1,2,3,4,5,6)
分别赋值
let arr = new Array(3);
arr[0] = 'zhangsan';
arr[1] = 'lisi';
arr[2] = 'wangwu'
通过数组的名称和下标直接访问数组的元素
console.log(arr[1]);
for(var i in arr){
console.log(arr[i]);
}
属性 length 设置或返回数组中元素的数目
let arr = [1,2,3,4,5]
console.log(arr.length);
join( )
把数组的所有元素放入一个字符串,通过一个分隔符进行分隔 把数组转成字符串
let newstr = arr.join();
join()里面没有传任何参数 默认以逗号连接
join('') 数字中间没有任何字符拼接
let newstr = arr.join('+');
console.log( typeof(newstr) );
console.log(newstr);
sort() 对数组排序
隐式数据类型转换 会字符串类型的转成数字类型进行排序
let arr = ['2', '3', '1', '5', '0'];
let newarr = arr.sort();
sort方法 会把老数组和新产生的数组都进行排序
console.log(arr, newarr);
sort()对应多位数排序 会出现问题
let arr = [2,22,3,32,1,12,100];
sort 给我们提供的解决方法
arr.sort(function(a,b){
从小到大的顺序
return a-b;
从大到小的顺序
return b-a;
})
console.log(arr);
push() 向数组末尾添加一个或更多元素,并返回新的长度 在外面定义的叫全局变量
let stu = ['小张','小王','小李'];
console.log(stu);
方法里面的叫局部区域
function fn(){
因为stu 是全局的 所以在方法里面 可以获取到
数组可以添加重复的数据
push也可以添加多个数据
let a = stu.push('丽丽','倩倩','雯雯')
console.log(a);
console.log(stu);
}
定义一个空数组 点击添加按钮 可以在空数组里面添加姓名 点击一个添加 可以把数组使用 dw 显示在页面上
let arr = []
function fn(){
arr.push('xiaoa')
document.write有个缺陷,用按钮点击的时候
会把整个页面进行重新绘制,导致页面原来的内容丢失
document.write(arr);
}
concat() 合并两个数组
对原来的两个数组 没有任何改变,会生成一个拼接好的新数组
let arr1 = [1,2,3];
let arr2 = [4,5,6];
let arr3 = [7,8,9]
拼接多个数组
let newarr = arr1.concat(arr2).concat(arr3);
console.log('arr1',arr1);
console.log('arr2',arr2);
console.log('newarr',newarr);
es6合并数组 要是用扩展运算符 ... 等同于 [1,2,3] 把arr1的括号去掉,把里面的内容拿出来了
let newarr = [...arr1];
let newarr = [...arr1,...arr2,...arr3];
/console.log(newarr);
Date 对象用于处理日期和时间
构造函数的方式 let date = new Date();
new Date() 实例化的一个日期对象
会打印出一个当前的日期
console.log(date);
通过这种方式 可以打印出 过去的时间
var tdate=new Date("9 1,2017,14:58:12");
var tdate = new Date('2019-10-30 13:20:22')
上面使用一个参数传过去的 在上面的用字符串表示的月份中 9 就代表9月 10 就代表10月
返回 Date 对象的月份,其值介于0~11之间(注:0-1月份)用数字类型,和逗号分割的月份 是从0开始算的,这里8 就代表9月这下面是用 6个参数 分别传过去的,所以和上面的传入的方式不一样产生的结果也不一样
var tdate = new Date(2018,8,1,13,22,23)
console.log(tdate);
var date = new Date();
返回 Date 对象的一个月中的每一天,其值介于1~31之间 获取日期
console.log( date.getDate() );
返回 Date 对象的星期中的每一天,其值介于0~6之间(注:0代表周日)1代表周一 2代表周二 。。 获取星期几
console.log( date.getDay() );
返回 Date 对象的小时数,其值介于0~23之间 24点就是0点
console.log( date.getHours() );
返回 Date 对象的分钟数,其值介于0~59之间 60分就是0
console.log( date.getMinutes() );
返回 Date 对象的秒数,其值介于0~59之间 60秒就是0
console.log( date.getSeconds() );
★特殊 返回 Date 对象的月份,其值介于0~11之间(注:0代表1月份)
console.log( date.getMonth() );
返回 Date 对象的年份,其值为4位数
console.log( date.getFullYear() );