js中常用的内置对象

写在前面

今天学习完了JavaScript的基本语法,接下来开始学习Dom操作!加油吧

1.Math

    <script>
        console.log(Math);
        console.log(Math.PI);//输出为π
        console.log(Math.floor(1.8));//向下取整
        console.log(Math.ceil(1.2));//向上取整
        console.log(Math.round(4.4));//四舍五入
        console.log(Math.abs(-24));//取绝对值
        console.log(Math.max(1, 2, 3, 4));//取最大值
        console.log(Math.min(1, 2, 3, 4,));//取最小值
        console.log(Math.sqrt(25));//开平方
        console.log(Math.pow(5, 4));//幂,5的4次方
        console.log(Math.sin(90 * Math.PI / 180));//正弦,弧度=角度*π/180
        console.log(Math.cos(180 * Math.PI / 180));//余弦
        console.log(Math.tan(90 * Math.PI / 180));//正切
    </script>

2.Date

    <script>
        /*获取时间*/
        var date = new Date();
        console.log(date);
        //对输出时间的默认格式进行转化的方法
        console.log(date.toDateString());
        console.log(date.toISOString());
        console.log(date.toLocaleDateString());
        console.log(date.toLocaleString());
        console.log(date.toTimeString());
        console.log(date.toUTCString());
        //获取具体时间的方法
        console.log(date.getDate());//日
        console.log(date.getDay());//周
        console.log(date.getFullYear());//年
        console.log(date.getYear());//当前两份到1900年总年数
        console.log(date.getMonth());//月(月份默认减掉了一,因为从0-11)
        console.log(date.getHours());//小时
        console.log(date.getMinutes());//分钟
        console.log(date.getSeconds());//秒
        console.log(date.getMilliseconds());//毫秒
        console.log(date.getTime());//返回当前时间到1970年1月1日的总毫秒数

        /*统一设置时间*/
        var time = new Date("2020/12/29 00:00:00");
        var time = new Date("2020-12-28 00:00:00");//字符串的设置方法比较方便,因为不涉及月份的加一减一
        var time = new Date(2020, 10, 28, 0, 0, 0);

        /*分开设置时间*/
        var time =new Date();
        time.setDate(28);//设置日
        time.setFullYear(2021);//设置年
        time.setMonth(1);//设置月,实际出来加一之后为2月
        time.setHours(9);//设置时
        time.setMinutes(0);//设置分钟
        time.setSeconds(0);//设置秒
        time.setMilliseconds(1000);//设置毫秒
        console.log(time);
    </script>

3.数组的创建

// 第一种,直接创建数组
var arr1 = []; // 创建一个空数组

// 第二种,通过new Array()创建数组
var arr2 = new Array(); // 创建一个空数组
var arr3 = new Array(3); // 创建了一个长度为3的数组,里面为两个空数组元素
var arr4 = new Array(2, 3, 4); // 创建了一个数组,里面有2,3,4三个数组元素

// 打印
console.log(arr1); // []
console.log(arr2); // []
console.log(arr3.length); // 2
console.log(arr4); // [2, 3, 4]

4. 检测是否为数组

// 检测是否为数组 (instanceof & Array.isArray)
// 当检测Array实例时, Array.isArray 优于 instanceof,因为Array.isArray能检测iframes.
// 第一种,通过 instanceof 运算符
var a = [];
var b = {};
console.log(a instanceof Array); // true
console.log(b instanceof Array); // false
// 第二种,通过Array.isArray(参数)
console.log(Array.isArray(a)); // true
console.log(Array.isArray(b)); // false

5. 添加数组元素

// 添加数组元素
arr1 = [1, 2, 3];
arr2 = ['虎', '兔', '龙'];
// 第一种,push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度(该方法修改原有数组)。
var l1 = arr1.push(4); // 向arr1数组中,添加一个4元素
console.log(arr1); // [1, 2, 3, 4] 返回添加后的数组
console.log(l1); // 4 返回添加之后的长度
// 第二种,unshift() 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)。
var l2 = arr2.unshift('牛');
console.log(arr2);  // ["牛", "虎", "兔", "龙"] 返回添加后的数组
console.log(l2); // 4 返回添加之后的长度

6. 删除数组元素

// 删除数组元素
arr1 = [1, 2, 3, 4];
arr2 = ['牛', '虎', '兔', '龙'];
// pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。
var v1 = arr1.pop(); // 删除数组最后一个元素
console.log(arr1);
console.log(v1); // 返回删除的值
// shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
var v2 = arr2.shift(); // 删除数组第一个元素
console.log(arr2);
console.log(v2); // 返回删除的值

7.筛选数组

//筛选数组
var a=[1222,2,2222,3333,223];
var b = [];//建一个新的空数组
for(var i = 0 ;i < a.length;i++){
if(a[i] < 2000){
    b.push(a[i]);//把筛选出来的值加到新数组中
    }
  }
console.log(b);

8.翻转数组

//方法将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。
arr = [3, 2, 23, 54, 12, 31, 73, 90];
// 数组反转
console.log(arr.reverse());

9.冒泡排序

arr = [3, 2, 23, 54, 12, 31, 73, 90];
var new_arr = arr.sort(function (a, b) {
    return a - b; // 升序排列
    // return b - a; // 降序排列
})
console.log(new_arr);

10.获取索引号

 var arr = ['red','green','pink','blue'];
 console.log((arr.indexOf('blue')));//3 从前开始找
 console.log(arr.lastIndexOf('pink'));//2 从后开始找
 /* 返回的都是正着数的索引号 *

11.数组去重

/* 核心算法:遍历一遍原先的数组,检查这个值在新数组中是否存在,indexOf返回值-1返回-1则将该数加到新数组里 */
function unique(arr){
	var newArr = [];
	for (var i = 0;i < arr.length; i++){
         if(newArr.indexOf(arr[i]) === -1){
              newArr.push(arr[i]);
        }
    }
    return newArr ;
}
 var demo = unique([1,2,3,3,2,1]);
 console.log(demo);

12.数组转化为字符串

//数组转化为字符串
//toString()
var arr = [1,2,3];
console.log(arr.toString());
//join(分隔符)
var arr1 = ['green','blue','pink'];
console.log(arr1.join());//green,blue,pink
console.log(arr1.join('-'));//green-blue-pink
console.log(arr1.join('&'));//green&blue&pink

13. splice() 添加删除数组元素

// splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
const months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb');
// inserts at index 1
console.log(months);
// expected output: Array ["Jan", "Feb", "March", "April", "June"]
months.splice(4, 1, 'May');
// replaces 1 element at index 4
console.log(months);
// expected output: Array ["Jan", "Feb", "March", "April", "May"]

14.基本包装类型

//1.生成临时变量,把简单类型包装为复杂数据类型
var temp = new String('andy');
//2.赋值给我们声明的字符变量
str = temp;
//3.销毁临时变量
temp = null;

15.字符串的不可变

里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内容中新开辟了一个内存空间

tip:由于字符串的不可变,在大量拼接字符串是会有效率问题,太多的话,会花费大量时间来显示,因为要不断的开辟新的空间

16. 根据字符串返回位置

// 字符串对象 根据字符返回位置 str.indexOf('要查找的字符'),[起始位置]
var str = '改革春风吹满地,春天来了';
console.log(str.indexOf('春'));//2
console.log(str.indexOf('春',3));//8

17.查找字符串中某一字符出现的次数

//先查找第一个o出现的位置
//然后只要indexOf返回的结果不是-1,就继续查找,因为indexof找不到o时会返回-1
//找到一个后indexOf要往后查找所以indexOf要加1
var str = 'abcosdsgahjkdfaosos';
var index = str.indexOf('o');
while(index !== -1){
    console.log(index);
    index = str.indexOf('o',index+1);
}//3,15,17

18.根据位置返回字符

//1.charAt(index) 根据位置返回字符
var str = 'andy';
for(var i =0 ;i < str.length ;i++){
    console.log(str.charAt(i));
}
// 2.charCodeAt(index)返回索引号的ASCII值
console.log(str.charCodeAt(0));//97
//3
console.log(str[0]);//a

19.拼接和截取字符串

//字符串操作方法
// 1.concat('字符串1','字符串2')
var str = 'andy';
console.log(str.concat('red'));// andyred
//2.substr('截取的起始位置','截取几个字符')
var str1 = '改革春风吹满地';
console.log(str1.substr(2,2));// 春天

20.替换字符串以及转化为数组

// 1.替换字符 replace('被替换的字符','替换为的字符'),只会替换第一个
var str = 'andyandy';
console.log(str.replace('a','*'));// *ndyandy
//把a全部改成*
var str1 = 'andyaaaaa';
while(str1.indexOf('a') !== -1){
    str1 = str1.replace('a','*');
}
console.log(str1);//*ndy*****
//字符转化为数组 split('分隔符')
var str2 = 'red,blue,pink';
console.log(str2.split(','));
var str3 = 'red&blue&pink';
console.log(str3.split('&'));//输出数组

在学习JavaScript中的一些学习笔记,有小部分内容为了节省时间吗,搬运了小部分,仅做笔记使用,侵删

在寻求真理的长河中,唯有学习,不断地学习,勤奋地学习,有创造性地学习,才能越重山跨峻岭。 ——华罗庚

有什么不足欢迎各位大佬指出!