[ 内置对象与数据类型| 青训营笔记]

69 阅读2分钟
这是我参加「第五届青训营」伴学笔记创作活动的第14天

Math数学对象

不是构造函数,不需要new来调用,可以直接使用里面的属性和方法

如何模拟Math这种内置对象

41.png

ps:其实内置对象的本质就是js自带的一些基本的对象,同理,这些对象也可以自己进行模拟实现

Math随机抽奖random()

  • 返回一个浮点数,伪随机数在范围[0,1)之间,括号里面不使用参数
  • 可以使用特定公式实现从两个数字中的随机整数,并且包含这两个整数

Date日期对象

是一个构造对象,必须用new来调用创建我们的日期对象,类似数组,对象,的创建方法也是这样
  • 如果没有参数,显示出来的date对象输出显示的是当前的时间
  • 参数常用的写法 数字型:2019,10,01,或者是 字符串型 '2019-10-1 8:8:8'
  • 用数字型的时候出来的月份会加1

日期格式化

42.png

date.getMonth()返回的月份少1

数据类型

简单数据类型

  • 简单数据类型又叫基本数据类型或者值类型,复杂数据类型叫做引用类型
  • 值类型:简单数据类型/基本数据类型,在存储时变量中储存的是值本身,因此叫做值类型,string,number,boolean,underfined,null 引用类型:复杂数据类型,在储存时变量中储存的仅仅是地址(引用),因此叫做引用数据类型,通过new关键字创建的对象(系统对象,自定义对象),如Object,Array,Date等

堆和栈

堆(操作系统):由操作系统自动分配释放存放函数的参数值,局部变量的值等,其操作方式类似于数据结构中的栈;简单数据类型存放到栈里面 堆(操作系统):存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收,复杂数据类型存放到堆里面

简单类型传参

函数的形参也可以看做是一个变量,当我们把一个类型变量作为参数传给函数的行参时,其实是吧变量在栈空间里的值复制了一份给形参,那么在方法内存对形参做任何修改,都不会影响到的外部变量