这是我参加「第五届青训营」伴学笔记创作活动的第14天
Math数学对象
不是构造函数,不需要new来调用,可以直接使用里面的属性和方法
如何模拟Math这种内置对象
ps:其实内置对象的本质就是js自带的一些基本的对象,同理,这些对象也可以自己进行模拟实现
Math随机抽奖random()
- 返回一个浮点数,伪随机数在范围[0,1)之间,括号里面不使用参数
- 可以使用特定公式实现从两个数字中的随机整数,并且包含这两个整数
Date日期对象
是一个构造对象,必须用new来调用创建我们的日期对象,类似数组,对象,的创建方法也是这样
- 如果没有参数,显示出来的date对象输出显示的是当前的时间
- 参数常用的写法 数字型:2019,10,01,或者是 字符串型 '2019-10-1 8:8:8'
- 用数字型的时候出来的月份会加1
日期格式化
date.getMonth()返回的月份少1
数据类型
简单数据类型
- 简单数据类型又叫基本数据类型或者值类型,复杂数据类型叫做引用类型
- 值类型:简单数据类型/基本数据类型,在存储时变量中储存的是值本身,因此叫做值类型,string,number,boolean,underfined,null 引用类型:复杂数据类型,在储存时变量中储存的仅仅是地址(引用),因此叫做引用数据类型,通过new关键字创建的对象(系统对象,自定义对象),如Object,Array,Date等
堆和栈
堆(操作系统):由操作系统自动分配释放存放函数的参数值,局部变量的值等,其操作方式类似于数据结构中的栈;简单数据类型存放到栈里面 堆(操作系统):存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收,复杂数据类型存放到堆里面
简单类型传参
函数的形参也可以看做是一个变量,当我们把一个类型变量作为参数传给函数的行参时,其实是吧变量在栈空间里的值复制了一份给形参,那么在方法内存对形参做任何修改,都不会影响到的外部变量