【JS基础】call和apply、arguments、Date对象、Math、包装类

call、apply

call和apply是函数对象的方法,需要通过函数对象来调用。

调用call和apply可以将一个对象指定为第一个参数,这个对象将会成为这个函数的this。

function fun(){
	alert(this);
}
var obj = {};

fun(); //window
fun.call(obj); //obj
fun.apply(obj); //obj

call()方法可以将实参在对象之后依次传递,apply()方法需要将实参封装到数组里统一传递。
在这里插入图片描述

arguments

在调用函数时,浏览器每次都会传递两个隐含的参数:上下文对象this、封装实参的对象arguments。

arguments是一个类数组对象(不是数组)。也可以通过索引操作数据,也可以获取长度。

在函数调用时,我们所传递的实参都会在arguments中保存。

即使不定义形参,也能传入实参到arguments,并调用,即arguments[0]表示第一个实参,以此类推。

arguments有一个属性叫callee,对应一个函数对象就是当前执行的函数对象。

Date对象

var d = new Date();
console.log(d);

当前代码执行的时间。

创建一个指定的时间对象:
格式:月份/日/年 时:分:秒

var d2 = new Date("12/03/2016 11:10:30");

getDate()方法
获取当前日期对象是几号

getDay()方法
返回获取当前日期对象是周几。会返回0-6的值,0表示周日,1表示周1。

getMonth方法
返回获取当前日期对象的月份。0是一月,11是12月。

getFullYear方法
返回获取当前日期对象的年份。

小时、分钟、秒、毫秒等都可以获取。

getTime()方法
获取当前日期对象的时间戳(指从格林威治标准时间的1970年1月1日0:0:0到现在经过的毫秒数)

计算机底层在保存时间时,都是使用的时间戳。

Math

Math和其他的对象不同,它不是一个构造函数,它属于一个工具类,不用穿件对象,里面封装了属性运算的相关属性和方法。

abs()方法
计算数的绝对值。
ceil()方法
向上取整。
floor()方法
向下取整。
round()方法
四舍五入。
random()方法
生成0-1之间的随机数(无0无1)。
若要生成0-10,则random()*10。
round也可以。
生成一个x~y之间的随机数:

Math.round(Math.random()*(y-x)+x)

max()方法
获取多个数的最大值:

var max = Math.max(10, 45, 69, 5);

min()方法同理。

pow()方法

Math.pow(2, 3)

2的三次方。
sqrt()方法
开方。

包装类

基本数据类型、引用数据类型。
JS中提供了3个包装类,可以将基本数据类型转化为对象。

在实际开发中,不会使用基本数据类型的对象。
当我们对基本数据类型的值调用属性和方法时,浏览器会将其临时使用包装类将其转化为对象,再调用对象的属性和方法。
String()
Number()
Boolean()

var num = new Number(3);
var str = new String("走你");
var bool = new Boolean(true);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cheerio_inf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值