JS可用方法

50 阅读3分钟

新手入门,会持续更新~~

1. 数学对象 Math

1-1)Math.abs 绝对值

console.log(Math.abs('-1')); //1 
console.log(Math.abs(1));    //1 
console.log(Math.abs(-5));   //1

1-2)Math.floor 向下取整

console.log(Math.floor(1.5));  //1 
console.log(Math.floor(-1.5)); //-2

1-3)Math.ceil 向上取整

console.log(Math.ceil(-1.5)); //-1 
console.log(Math.ceil(2.1));  //3

1-4) Math.round 四舍五入

console.log(Math.round(-1.5)); //-1 
console.log(Math.round(-1.9)); //-2 
console.log(Math.round(-1.2)); //-1

1-5)Math.toFixed() 规定小数的位数

let num = 18.80000001 
console.log(num.toFixed(2)); // 18.80

2. 日期对象 Date()

var data = new Date() //输出当前的日期,注意获取月份时要+1 
var nowtime = +new Date(); //获得截至目前的时间戳,单位为ms,应用于倒计时案例 
function countdown(time) { 
    var nowtime = +new Date(); 
    var inputtime = +new Date(time);//目标时间的时间戳 
    var times = (inputtime - nowtime) / 1000; 
    var d = parseInt(times / 60 / 60 / 24); 
    d = d > 10 ? d : '0' + d; 
    var h = parseInt(times / 60 / 60 % 24); 
    h = h > 10 ? h : '0' + h; 
    var m = parseInt(times / 60 % 60); 
    m = m > 10 ? m : '0' + m; 
    var s = parseInt(times % 60); 
    s = s > 10 ? s : '0' + s; 
    return `${d}${h}${m}${s}秒` 
} 
console.log(countdown('2022-3-23 17:00:00'));

3. 数组对象

3-1)instanceof/Array.isArray 判断是否是数组

var arr = [1,2,3];
var res = arr instanceof Array; 
console.log(res); //true 
console.log(Array.isArray(arr)); //true 
Object.prototype.toString.call(arr) === '[object Array]'

3-2)push 末尾添加,返回新数组的最新长度

var arr = [1,2,3];
console.log(arr.push(5,'pink'));//返回数组长度 5 
console.log(arr);// [1, 2, 3, 5, 'pink']

3-3)unshift 开头添加,返回新数组的最新长度

var arr = [1,2,3];
console.log(arr.unshift(-1,0)); // 返回数组长度 5
consolelog(arr); // [-1,0,1,2,3]

3-4)pop 删除最后一个元素,返回被删除的值

var arr = [1,2,3];
console.log(arr.pop()); // 返回被删除的值 3
console.log(arr); // [1,2]    

3-5)shift 删除第一个元素,返回被删除的值

var arr = [1,2,3];
console.log(arr.shift()); // 返回删除的值 1
consolelog(arr); // [2,3]

3-6)splice替换,返回的是被删除的值,以数组的方式

var arr = [1, 2, 3];
// 从下标为1的元素开始,删除0个元素,增加3个,增加的位置从1个下标开始 
console.log(arr.splice(1,0,4,5,6)); 
// 返回值是被删除的元素,因为没有删除所以返回一个[] 
console.log(arr); // [1,4,5,6,2,3]

3-7)indexOf数组索引,判断一个元素是否在数组中

var arr = [1, 2, 3];
console.log(arr.indexOf(3)); // 返回下标值 2 
console.log(arr.indexOf('red')); // 返回 -1,表示‘red’不在数组中

3-8)join 转换字符串

var arr = [1,2,3];
console.log(arr.join('')); //  '123'

3-9)reverse() 翻转数组

var arr = [1, 2, 3];
console.log(arr.reverse()); // [3,2,1]

3-10)sort() 数组冒泡排序

var arr = [1,2,10,21,6];
console.log(arr.sort()); // [1, 10, 2, 21, 6] 不进行回调函数的话,会首先比较第一位数字进行排序 
console.log(arr.sort(function (a, b) { 
        return a - b //升序 b-a降序 固定死值 a,b 
    })
); // [1, 2, 6, 10, 21]

3-11)findIndex() 查找符合条件的第一个元素的索引 没有找到返回 -1

var arr = [2,4,6,8,10]; 
let index = arr.findIndex(item => item === 8);
console.log(index) // 3

4. 字符串对象

补充方法

//给想要点击的元素绑定事件并传入要跳到元素的id 
<div id="text"></div>
//使用Vue就直接写@click 
<a @click="changeHash('#test')"></a> 
//不是Vue时 
<a onclick="changHash('#test')"></a> 
//使用document.querySelector实现锚点的效果 
changeHash(idname) { 
    document.querySelector(idname).scrollIntoView(true); 
}