JS-一些笔记

在当前作用域下,JS代码被执行前。浏览器会把默认带有var function声明的变量在内存中进行提前声明或者定义;
预解析:在当前作用域下, JS 代码执行之前,浏览器会默认把带有 var 和 function 声明的变量在内存中
进行提前声明或者定义。
代码执行: 从上到下执行JS语句。
预解析只会发生在通过 var 定义的变量和 function 上。学习预解析能够让我们知道为什么在变量声明之前
访问变量的值是 undefined,为什么在函数声明之前就可以调用函数。
内置对象
JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对象
1,前面两种对象是JS 基础 内容,属于 ECMAScript; 第三个浏览器对象属于我们JS 独有的, 我们JS API 讲解
,2,内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)
内置对象最大的优点就是帮助我们快速开发
3,JavaScript 提供了多个内置对象:Math、 Date 、Array、String等
Math 概述
Math.PI // 圆周率
Math.floor() // 向下取整
Math.ceil() // 向上取整
Math.round() // 四舍五入版 就近取整 注意 -3.5 结果是 -3
Math.abs() // 绝对值
Math.max()/Math.min() // 求最大和最小值
获得随机数的方法
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
获取当前时间
var now = new Date();
console.log(now);在这里插入图片描述
获取日期的总的毫秒形式
// 实例化Date对象
var now = new Date();
// 1. 用于获取对象的原始值
console.log(date.valueOf())
console.log(date.getTime())
// 2. 简单写可以这么做
var now = + new Date();
// 3. HTML5中提供的方法,有兼容性问题
var now = Date.now();
倒计时案例

var date = new Date();
    function countDown(time){
        var nowDate = + new Date();
        var inputDate = new Date(time);
        var times = (inputDate-nowDate)/1000;
        var d =parseInt(times/60/60/24);//天
        d = d < 10 ? '0'+d :d;
        var a =parseInt(times/60/60%24);
        a = a < 10 ? '0'+a :a;
        var b = parseInt(times/60%24);
        b = b < 10 ? '0'+b :b;
        var c =parseInt(times%24)
        c = c < 10 ? '0'+c :c;
        return d+'天'+a+'时'+b+'分'+c+'秒'
    }
    console.log(countDown('2021-3-27 12:00:00'));

d = parseInt(总秒数/ 60/60 /24); // 计算天数
h = parseInt(总秒数/ 60/60 %24) // 计算小时
m = parseInt(总秒数 /60 %60 ); // 计算分数
s = parseInt(总秒数%60); // 计算当前秒数

检测是否为数组
var arr = [1, 23];
var obj = {};
console.log(arr instanceof Array); // true
console.log(obj instanceof Array); // false
console.log(Array.isArray(arr)); // true
console.log(Array.isArray(obj)); // false
instanceof 运算符,可以判断一个对象是否属于某种类型
Array.isArray()用于判断一个对象是否为数组,isArray() 是 HTML5 中提供的方法

添加或者删除数组元素的方法

在这里插入图片描述
将arr数组中超过2000的删除,并且组成一个新数组

var arr = [1500, 1200, 2000, 2100, 1800];
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i] < 2000) {
newArr.push(arr[i]);
}
}
console.log(newArr);
console.log(newArr);
    var a =[1,2,3]
    var b =[4,5,6]
    for(var i =0;i<=2;i++){
        b.unshift(a[2-i]); //如果不加2-i 直接用i会显示[3,2,1,4,5,6]
    }
    console.log(b);

    var a=[1,2,3]
    a.pop()
    console.log(a);

数组排序问题。
reverse:翻转数组
sort:可按照升序或者降序排列

var a=[1,2,3]
    a.pop()
    console.log(a);
    var a=[4,2,3,1];
    a.reverse();//反转数组
    console.log(a);
     var a =[1,8,5,9];
     a.sort(function(a,b){
        //  return a-b;//升序
         return b-a;//降序
     })
     console.log(a);

去重案例
首先,我们要先定义一个函数,在函数中定义一个新数组,用if判断语句,对原数组的元素进行判断,如果indexOf==-1则这个元素在新数组中没有,用push或者unshift方法添加到新数组中,通过return返回新数组,再输出新数组即可。

function quchong(a){
        var b = [];
        for(var i=0;i<a.length;i++)
        if(b.indexOf(a[i])==-1){
            b.unshift(a[i]);
        }
        return b;
    }
    var ca =[1,1,2,2,3,3,]
    console.log(quchong(ca))

查找一个字符串中,一个元素出现的位置和次数
通过indexOf方法查找指定的元素。但是通过indexOf方法查询的方式只能查找第一个元素出现的索引值,所以我们需要给indexOf+1 通过while循环来查找,判断indexof()查找的元素的索引值是否是-1

var a='abcoefoxyozzopp'
    var b = a.indexOf('o');
    var c = 0;
    while(b!==-1){
        console.log(b);
        c++;
        b = a.indexOf('o',b+1);
    }
    console.log('o出现的次数是'+c);

字符串选取的一些方法

在这里插入图片描述

var a='1';
    console.log(a.concat(',2,3,4'));
    var a ='12345678'
    console.log(a.substr(2,3));
    console.log(a.slice(2,6));

replace();只能替换一个字符

var a ='1245678';
    console.log(a.replace('2','3')); 

split 将字符串转化为数组

 var a ='1,2,3,4,5'
    console.log(a.split(','));
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值