一、Array数组
创建数组对象的两种方式:1.字面量方式 2.构造函数 new Array()
// 创建数组的两种方式
// 1. 利用数组字面量
var arr = [1, 2, 3];
console.log(arr[0]);
// 2. 利用new Array()
var arr1 = new Array(); //创建了一个空的数组
var arr2 = new Array(2); //2 表示数组长度,创建了一个有两个空元素的数组
var arr3 = new Array(2, 3); //创建了数组等价于[2, 3]
检测是否为数组
1.instanceof运算符
// 检测是否为数组
// instanceof 运算符:检测是否为数组
var arr = [];
var obj = {};
console.log(arr instanceof Array);
console.log(obj instanceof Array);
2.Array.isArray()
用于确定传递的值是否是一个 Array
// Array.isArray()方法,返回t/f
console.log(Array.isArray(arr));
console.log(Array.isArray(obj));
翻转数组
// 翻转数组
function reverse(arr) {
if (arr instanceof Array) {
var newArr = [];
for (var i = arr.length - 1; i >= 0; i--) {
newArr[newArr.length] = arr[i];
}
return newArr;
}
else {
return '此参数必须为数组格式';
}
}
console.log(reverse([1, 2, 3]));
console.log(reverse(1, 2, 3));
添加删除数组元素的方法
js中数组可以用来当作栈使用
// 添加删除数组元素的方法
var arr = [1, 2, 3];
// push() 在数组末尾添加一个或者多个数组元素
// 参数直接写数组元素,返回值是新数组的长度,原数组也会发生变化
arr.push(4);
console.log(arr);
// unshift() 在数组开头添加一个或者多个数组元素,其他同push()
arr.unshift('Elsie');
console.log(arr);
// pop()可以删除数组的最后一个元素,返回值是删除的那个元素
arr.pop();
console.log(arr);
// shift()可以删除数组的第一个元素,返回值是删除的那个元素
arr.shift();
数组排序
// 数组排序
// 翻转数组
var arr = ['yz', 'dw', 'zwy'];
arr.reverse();
console.log(arr);
// 冒泡排序 sort的多位数排序存在问题通过在里面加函数来解决
var arr1 = [5, 2, 0];
arr1.sort(function (a, b) {
return a - b; //按照升序的顺序排列
// return b - a;//按照降序的顺序排列
});
console.log(arr1);
数组索引方法
var arr = [1, 2, 4, 7, 2 , , 2];
//indexOf(查询的对象, 起始位置), 如果没有返回-1
console.log(arr.indexOf(2, 1));
//lastIndexOf(查询的对象, 起始位置), 如果没有返回-1
//原理是从后往前找到第一个,所以起始位置要从后面开始
console.log(arr.lastIndexOf(2, -1));
数组转换为字符串
// 数组转换为字符串 // toString()直接将数组转换为字符串默认,分割
var arr = [1, 2, 3];
console.log(arr.toString());//1,2,3
// join(分隔符)
var arr1 = ['yz', 'zwy', 'tjc'];
//默认逗号
console.log(arr1.join());//yz,zwy,tjc
console.log(arr1.join('-'));//yz-zwy-tjc
//concat连接连个数组返回一个新的数组
var arr1 = [1, 2, 3], arr2 = [4, 5, 6];
var arr3 = arr1.concat(arr2);
console.log(arr3);
//slice(起始位置, 可有可无的最终位置的后一位) 返回一个切割数组
console.log(arr3.slice(3));
console.log(arr3.slice(0, 3));
//splice这个方法需要细分, 并且他会影响原数组
var arr = [0,1,2,3,4,5,6]
//1.一个参数
//从参数位置开始删除后面所有元素并返回删除元素,如果为负数,删除其位置以后的元素
console.log(arr.splice(-1));
console.log(arr);
//2.两个参数
第二个参数为往后删除多少个
console.log(arr.splice(0, 100));
//3.三个以上参数
//后面的参数代表在第一个参数前加上的元素
console.log(arr.splice(5, 3, 8, 9));
console.log(arr);
二、String字符串
创建字符串对象的两种方式:1.字面量方式 2.构造函数 new String()
// 基本包装类型
var str = 'andy';
console.log(str.length);
// 将简单数据类型包装为复杂数据类型
var temp = new String('andy');
// 把临时变量赋值给str
str = temp;
// 销毁临时变量
temp = null;
字符串的不可变:指里面的值不可变,虽然看上去改变了内容但实质是地址变了——内存中开辟了一个新的内存空间。
根据字符返回位置
与数组中方法相同
根据位置返回字符【重点】
// 根据位置返回字符
// charAt(index)
var str = 'andy';
console.log(str.charAt(3));
// 遍历所有的字符
for (var i = 0; i < str.length; i++) {
console.log(str.charAt(i));
}
//charCodeAt(index) 返回相应索引号的字符ASCII值 目的:判断用户按下了哪个键
console.log(str.charCodeAt(0));
// H5新增
console.log(str[0]);
字符串的操作方法【重点】
//concat字符串连接,等效于+
var str1 = '111', str2 = '222';
console.log(str1.concat(str2));
//substr(start, length)
//方法与java中相同
//slice(start, end)
//方法与数组相同
//substring(start, end)
//方法与slice相同,不可取符数
替换字符串的方法
var str = 'andyandy';
console.log(str.replace('a', 'b'));
//把所有的a替换成c
var str1 = 'ababab';
while (str1.indexOf('a')) {
str1.replace('a', 'c');
}
//字符转换为数组 split('分隔符')
var str2 = 'red, pink, blue';
var str3 = 'red&pink&blue';
console.log(str2.split(','));
console.log(str3.split('&'));
三、Math数学
-
Math.PI
表示一个圆的周长与直径的比例,Math.PI=π≈3.14159 -
Math.max()
函数返回一组数中的最大值,如果给定的参数中至少有一个参数无法被转换成数字,则会返回NaN
。如果没有参数,则结果为- Infinity
(负无穷) Math.abs()
取绝对值Math.floor()
向下取整Math.ceil()
向上取整Math.round()
是四舍五入Math.random()
方法返回一个随机的浮点数, 伪随机数范围**[0,1)**,这个方法里面不跟参数
四、Date日期
Date()日期对象是一个构造函数,创建一个新Date对象的唯一方法是通过new 操作符。
- 如果没有参数,返回当前系统的当前时间
- 参数常用的写法:数字型:2022,4,1 或者是 字符串型:'2022-4-1 8:8:8'
// Date()
var date = new Date();
console.log(date);
// 数字型
var date1 = new Date(2022, 4, 1);//返回的是11月
console.log(date1);
// 字符串型
var date1 = new Date('2022-4-1 8:8:8');
console.log(date1);
get系
// 格式化日期:年月日 返回当前系统的日期
var date = new Date();
console.log(date.getFullYear()); //返回当前日期的年 2022
console.log(date.getMonth() + 1); //月份4 返回的是3所以需要加一
console.log(date.getDate());//返回的是 几号
console.log(date.getDay());//周一返回的是1 周六是6 周日是0
// 例 2022年4月1日 星期五
var year = date.getFullYear();
var month = date.getMonth() + 1;
var dates = date.getDate();
var day = date.getDay();
// 用数组来对应展示中文的星期几
var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
console.log('今天是:' + year + '年' + month + '月' + dates + '日' + arr[day]);
// 格式化日期 时分秒
var date = new Date();
console.log(date.getHours()); //时
console.log(date.getMinutes());//分
console.log(date.getSeconds());//秒
// 获得Date总的毫秒数(时间戳)
// method1:valueOf() getTime()
var date = new Date();
console.log(date.valueOf()); //现在距离1970.1.1总的毫秒数
console.log(date.getTime());
// method2 最常用的写法
var date1 = + new Date(); //+new Date()返回的就是总的毫秒数
console.log(date1);
// method3 H5新增的方法
console.log(Date.now());
set系
与get系类似
参考:(91条消息) 【JavaScript】内置对象_js内置对象_msmxsd的博客-CSDN博客
标签:arr,内置,console,log,对象,js,date,数组,var From: https://www.cnblogs.com/dookie/p/17566543.html