扫码关注官方订阅号
使用new时,改变了构造函数中的this指向,生成的对象中有一个指向构造器原型的属性。怎么多出来个return 就打破了这点呢?
人生最曼妙的风景,竟是内心的淡定与从容!
在构造函数中,一般不允许返回东西出来。 这好像是一个默认规定。如果return object、array,function, 那么new表达式返回值即使return值。否则返回的是构造函数的函数体形成的对象。
new对象发生了事情:创建空对象把this指向空对象赋值方法中的this指代 new 出来的对象。
b之所以会出来11 是因为你的b的返回值是个对象。里面有a属性。但是跟自身的a无关。很简单的道理
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
在构造函数中,一般不允许返回东西出来。 这好像是一个默认规定。
如果return object、array,function, 那么new表达式返回值即使return值。否则返回的是构造函数的函数体形成的对象。
new对象发生了事情:
创建空对象
把this指向空对象
赋值
方法中的this指代 new 出来的对象。
b之所以会出来11 是因为你的b的返回值是个对象。里面有a属性。但是跟自身的a无关。很简单的道理