js里面的内置对象

内置对象

对象是属性和方法的集合。
js里面的内置对象有Array,Math,Date,String,setinterval,sertimeout。下面会一一介绍

Math对象

  • 随机从0-1:random;Math.random();随机数范围在0-1之间。

  • 向下取整:floor;例如:Math.floor(0.2);输出是0;

  • 向上取整:ceil;例如:Math.ceil(0.2);输出是1;

  • 四舍五入:round;
    小于等于4的时候,舍去;例如:Math.round(4.4)输出是4;大于4的时候,进位Math.round(4.5)输出是5。

  • 开方:sqrt;
    1.一个参数时(参数是要进行开方的数,一个参数默认是开平方)例如:Math.sqrt(4);输出是2。
    2.两个参数(第一个参数是要进行开方的数,第二个参数是开几次方)例如:Math.sqrt(16,4);输出是4。

  • 次幂:pow;
    有两个参数,第一个参数是底数,第二个参数是次幂,例如: Math.pow(2,3);输出是8。

值类型和引用类型

引用类型:对象(object),数组(Array),函数(Function)。占用空间不固定
值类型: 字符串(string),数值(number),布尔值(boolean),undefined,null(这五种基本数据类型是按值访问的,因为可以操作保存在变量中的实际的值)。不变的值,占用空间固定。
引用类型和值类型可以相互转化。
在这里插入图片描述
看下面代码:

var s1="cde";
    var s1=new String(s1);//值类型转化为引用类型
    s1.toString();//引用类型转化为值类型

String对象

String和字符串的用法一样
toString()可以将String转化为string(字符串),toString()在js中无参数

<script>
    var s="abc";
    console.log(typeof s);//输出是string(字符串类型)
    var s1=new String("abc");//定义了一个String对象并且赋值为abc
    console.log(s1);//输出String { "cde" }
    console.log(typeof  s1);//object
    //String和字符串的用法一样
    console.log(s1.charAt(1));
    console.log(s.concat(s1));
    console.log(s1.toString());
    //toString()的重写    重写方法,方法名字一样但内容被重写
    function a(){
        a.toString=function(){//toString()的重写
           console.log(20);
        }
        console.log(10);
    }
    a();
    //值类型和引用类型的相互转化
   // 值类型转化为引用类型
    var s1="cde";
    var s1=new String(s1);
    console.log(typeof  s1);
    //引用类型转化为值类型   
    s1.toString();
    console.log(s1);
    </script>

日期对象Data

<script>
    var time=new Date();//创建一个日期对象,自动获取当前日期和时间。
    console.log(time);
    console.log(time.toUTCString());//外国时间
    console.log(time.toDateString());//年月日加星期
    console.log(time.toISOString());//外国时间
    console.log(time.toLocaleDateString());//年月日
    console.log(time.toLocaleTimeString());//上午/下午+时分秒
    console.log(time.toLocaleString());//将上面两个合并
    console.log(time.toTimeString());中国标准时间(时分秒)
    //时间的设置   获取
    //1.直接在new的时候设置
    字符串时间 和输出一样!!!
    var times2=new Date("2019.8.10 12:00:00");
    console.log(times2);
    var times3=new Date(2019,8,10,12,0,0);  //中间的月+1
    console.log(times3);
    //2.使用date中的方法设置
    var time=new Date();
    time.setFullYear(2021);//设置日期的年份。传入的年份指必须是4位数字
    time.setDate(3);//设置日期月份中的天数。如果传入的值超过了该月中应有的天数,则增加
    				//月份。
    time.setMonth(8);//设置日期的月份,其中0表示1月,11表示12月
    time.setHours(13);//设置日期中的小时数,传入的值超过了23则增加月份中的天数
    time.setMinutes(6);//设置日期中的分钟数,传入的值超过59则增加分钟数
    time.setSeconds(20);//设置日期中的秒数。(0到59)
    time.setMilliseconds(489);//设置日期中的毫秒数
    console.log(time);
    //通过方法来获取时间
    console.log(time.getDate());//返回日期月份中的天数(0到31)
    console.log(time.getDay());//返回日期中的星期几,(其中0表示星期日,6表示星期六)
    console.log(time.getFullYear());//取得四位数当前的年份
    console.log(time.getHours());//返回日期中的小时数(0到23)
    console.log(time.getMilliseconds());//返回日期中的毫秒数
    console.log(time.getMinutes());//返回日期中的分钟数(0到59)
    console.log(time.getMonth());//返回日期中的月份(其中0表示1月,11表示12月)
    console.log(time.getSeconds());//返回日期中的秒数(0到59)
    console.log(time.getTime());//到1970年的总毫秒数
    console.log(time.getYear());

</script>

计时器对象setTimeout 和setInterval

setTimeout()一次性计时器,延迟多长时间去执行
setInterval()循环计时器。这两个计时器时间可以设置,缺点:在网页被缩小或者切换选项卡之后计时器继续执行。
还有一个计时器window。requestAnimationFrame();
这个计时器的缺点是时间没办法设置,时间是根据电脑的刷新频率(16ms);
优点;在网页被缩小或者被切换选项卡之后计时器暂停
具体操作方法看下面的代码:

<script>
//一次性计时器
   setTimeout(function(){
        console.log(1)
    },1000);//延迟1000ms
    //将一次性计时器改成循环计时
   function showtime(){
        setTimeout(showtime,1000);
        console.log(1);
    }
    showtime();
    //循环计时器
    var t=null;
   t= setInterval(function(){
        console.log(1)
    },1000);
    clearTimeout(t);

    loop();
    function loop(){
        console.log(1);
        setTimeout(function(){
            window.requestAnimationFrame(loop);//一次性计时器可以设置时间, 
            															//window.requestAnimationFrame在网页被缩小或者被切换选项卡之后计时器暂停,两个计时器相互弥补
        },1000);

    }
    //只使用 window.requestAnimationFrame()延迟1000ms输出一次
    function jishi(){
        var times=new Date().getTime();
      
       if(times-time>=1000){
           console.log(1);
           time=times;
       }
        window.requestAnimationFrame(jishi);
    }
    jishi();
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值