美文网首页
不使用NEW运算符如何创建JS对象

不使用NEW运算符如何创建JS对象

作者: 秘果_li | 来源:发表于2019-02-18 15:41 被阅读0次
  1. 利用字面量
var a = [], b = {}, c = /abc/g
  1. 利用dom api
var d = document.createElement('p')
  1. 利用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

相关文章

  • 笔记---对象

    创建Object类型的方法有两种:1、new运算符创建。2、字面量创建。 一、对象创建 1.使用new运算符来创建...

  • 15 js10 date对象

    date日期对象:js内置对象,使用构造函数创建; 1、var date = new Date();//创建对象;...

  • 不使用NEW运算符如何创建JS对象

    利用字面量 利用dom api 利用JavaScript内置对象的api 4.利用装箱转换 构造器函数实现数据私有...

  • 【Javascript】彻底捋清楚javascript中 new

    new 运算符 在js中,new()常被用来创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例 new...

  • 关于日期和时间的创建

    1、创建日期对象和调用 创建一个日期对象,使用new运算符和Date构造方法(构造函数)即可。 var time ...

  • 用new和不用new创建类对象区别

    new创建类对象,使用完后需使用delete删除,跟申请内存类似. 一、new创建类对象与不new区别 下面是自己...

  • C#-构造函数

    创建一个类的时候,使用new运算符对类进行实例化。在为新对象分配内存之后,new运算符立即调用构造函数。 不带参数...

  • js中使用new Date(str)创建时间对象不兼容firef

    js中使用new Date(str)创建时间对象不兼容firefox和ie 和safari的解决方式 最简洁的办法...

  • 设计模式解读之结合Java实际应用

    创建型模式: 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。...

  • js中new操作符

    js中的new操作符MDN中是这样说的。new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实...

网友评论

      本文标题:不使用NEW运算符如何创建JS对象

      本文链接:https://www.haomeiwen.com/subject/uybaeqtx.html