- 利用字面量
var a = [], b = {}, c = /abc/g
- 利用dom api
var d = document.createElement('p')
- 利用JavaScript内置对象的api
var e = Object.create(null)
var f = Object.assign({k1:3, k2:8}, {k3: 9})
var g = JSON.parse('{}')
4.利用装箱转换
var h = Object(undefined)
var i = Object(null)
var k = Object(1)
var l = Object('abc')
var m = Object(true)
构造器函数实现数据私有
construct
的执行过程如下:
- 以 Object.protoype 为原型创建一个新对象
- 以新对象为 this,执行函数的
call
- 如果
call
的返回值是对象,那么,返回这个对象,否则先创建一个新的对象
如果构造器返回了一个新对象,那么 new 创建的新对象就变成了一个构造函数之外完全无法访问的对象,即实现了私有
function f(){
this.a = 1;
return{
getValue:()=>this.a;
}
}
var o=new f;
o.getVaule(); //1
外部无法访问到变量a
网友评论