请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,如果构造函数里面没有定义的属性,而原型对象中定义了这个属性

老师,如果构造函数里面没有定义的属性,而原型对象中定义了这个属性,就会到原型对象中去获取,这个步骤是怎么实现的,用什么方法,我想用js模拟一下这个过程?

正在回答

2回答

双越 2018-05-12 14:17:55

视频中都演示了原型链的代码了,只不过演示的时候原型中都是函数,没有属性。你把函数改成属性就行了,这个不难啊。你是有其他别的疑问或者难点?

如果没有的话,就照着视频自己写,自己写出来的代码如果有问题解决不了,贴出代码来给我看。

0 回复 有任何疑惑可以回复我~
  • 提问者 qq__9987 #1
    老师,我的意思是我想自己创建一个类似prototype的对象,然后模拟原型对象的过程,但是不知道怎么实现,如果构造函数里面属性不存在,然后他是怎么自动到原型对象里面取。  原型对象我已经完全理解,只是不知道其中是怎么实现的。虽然这个问题不需要掌握。。这是js底层的实现
    回复 有任何疑惑可以回复我~ 2018-05-12 16:16:03
  • 提问者 qq__9987 #2
    比如这段代码:function Test(){
            this.objcopy=Test.obj;
            
       	}
       	Test.obj={
       		constructor:Test
       	};
       	Test.obj.name="lun";
       	var test=new Test();
        console.log(test.objcopy===Test.obj);
        console.log(test.objcopy.name);
    我只能通过test.objcopy.name去访问这个模拟的prototype对象,不能直接用test.name去访问.
    回复 有任何疑惑可以回复我~ 2018-05-12 16:19:14
  • 双越 回复 提问者 qq__9987 #3
    如果想要自己实现这种机制的话,建议去了解一下 Object.defineProperty 或者 ES6 中的 Proxy ,这些语法可以帮助你实现。
    回复 有任何疑惑可以回复我~ 2018-05-12 16:41:32
提问者 qq__9987 2018-05-12 15:00:01

怎么手机上不能回复,老师,我的意思是我想自己创建一个类似prototype的对象,然后模拟原型对象的过程,但是不知道怎么实现,如果构造函数里面属性不存在,然后他是怎么自动到原型对象里面取。  原型对象我已经完全理解,只是不知道其中是怎么实现的。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信