比如定义persion如下:
var person = new Object()
var person = {}
JS 是基于原型的面向对象语言, 所有数据都可以当作对象处理,所以 person 是对象, 可以把它当作是 Object 的实例. 当然, 一切都是对象。
第二个采用对象字面量的方式生成的person也是如此。
然而它内部没有调用new Object(),而是采用JSON的初始化方式:
将现有的引用指向person。
实例和对象的区别,从定义上来讲:
1、实例是类的具象化产品,
2、而对象是一个具有多种属性的内容结构。
实例都是对象,而对象不全是实例。
Js里面没有类(ES6以前)的语法,所以类的概念就通过创造一个对象来实现。
1、什么是单例模式?
保证一个类只有一个实例, 并提供一个访问它的全局访问点。
2、如何实现一个单例模式
实现一个简单的单例模式:
创建一个类,类中有一个方法能够创建该类的实例对象,还有一个标记,记录是否创建过实例对象。创建过则直接用实例对象的引用。否则再次创建
3、什么情况可以使用单例模式(有什么用处)
(1)缓存数据(点击触发获取实验字段时)
(2)获取实例值不确定使用位置获取实例时是否已经有实例。每次调用都走一遍内部逻辑获取实例
使用场景:
Rn
h5页面中同一个路由下写在最上层时
每一个import进来的组件其实都属于一个单例模式
将变量缓存再windows上也是一个单例模式、但windows随意挂载变量的话后续不好维护
把一个类,变成实际存在的一个"例子",叫实例化. 说白了,如: "人"是一个概念,相当于一个"类" "小明"是一个具体存在的"人"的例子,相当于一个"实例". 把"人"变成"小明"的过程,就是"人的实例化".