美文网首页
new 理解

new 理解

作者: lovelydong | 来源:发表于2019-02-18 15:15 被阅读0次
//实现一个new
var Dog=function(name){
this.name=name
}

Dog.prototype.wang=function(){
console.log("汪汪汪")
}
Dog.prototype.sayName=function(){
console.log("My name is"+this.name)
}

//实例化对象
let dongge=new Dog("冬哥");
dongge.sayName();//My name is 冬哥
dongge.wang(); //汪汪汪

new 的作用

创建一个新对象obj

把obj的 _ proto _ 指向Dog.prototype 实现继承

执行构造函数,传递参数,改变this指向 Dog.call(obj, ...args)

最后把obj赋值给dongge

var _new = function() {
  let constructor = Array.prototype.shift.call(arguments)
  let args = arguments
  const obj = new Object()
  obj.__proto__ = constructor.prototype
  constructor.call(obj, ...args)
  return obj
}
var dongge = _new(Dog, 'dongge')
dongge.bark()
dongge.sayName()
console.log(dongge instanceof Dog) // true

相关文章

  • new 理解

    new 的作用 创建一个新对象obj 把obj的 _ proto _ 指向Dog.prototype 实现继承 执...

  • new Promise 理解

    外部获取异步方法里面的数据 promise对象有then,catch, all, race方法可使用 使用asyn...

  • new new Foo().getName() 怎么理解

    看到一道面试题,提炼出来的结果是 经过测试,我目前个人觉得new和()是配套的关系,就像写代码时{([()])}出...

  • 我所理解的多线程

    我所理解的多线程。 new Thread(new Runnable() { @Override public ...

  • js new 运行机制

    js手札--js中new到底做了些啥JS核心系列:理解 new 的运行机制深入理解 Javascript 运行机制及原型

  • ★ 原型、原型链、继承

    如何理解原型,如何理解原型链? new 一个对象发生了什么? new 的实现 每一个函数 ( 类 ) 都有一个 p...

  • 什么是原型链

    1.对prototype的理解 function F(){};f1=new F();f2=new F(); 以上的...

  • 理解JS的面向对象,理解new,new之后都做了什么

    ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP)。面向对象的语言有一个标志,那就...

  • 理解 Go make 和 new

    都是用来分配空间,初始化【类型】 new(t): 分配一个空间,放进去t的零值,放回指针 但是var a *int...

  • this

    this 对象的理解 普通函数 this 总是指向函数的直接调用者如果有 new 关键字,this 指向 new ...

网友评论

      本文标题:new 理解

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