请问老师关于继承的一些疑问

请问老师关于继承的一些疑问

<!DOCTYPE html>
<html>

<head>
    <title></title>
</head>

<body>
	<div id='one'>点击我</div>
  <script type="text/javascript">
  	function one(){}
  	one.name='wanghaoyu';
  	var oneO=new one();
  	console.log(oneO.name);
  	one.age=22;
  	console.log(oneO.age);
  	console.log(oneO);
  </script>
</body>

</html>

请问老师这段代码oneO是one的实例对象 然后他并不能使用one上定义的属性。

是不是和‘构造函数的属性实例化对象可以使用’互相违背。

请老师解释一下,关于继承 是不是只有原型继承,这种构造继承使用new的是不是只能继承函数体内部的,也就是比如one(){this.name='name'}才可以是吗

直接给函数定义属性是不是不可以继承

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕夭夭 2018-09-28 19:11:01

在函数内部使用this定义的属性 , 是直接存放在函数里面的 . 在外部使用函数名+属性的方式定义的属性是放在函数的constructor属性中 . 代码如下 :

http://img1.sycdn.imooc.com//climg/5bae0b7c0001e71f11530624.jpg

所以需要使用oneO.constructor.age才能访问到哦 , 祝学习愉快 ,望采纳 .

提问者 hy_wang 2018-09-28 18:53:58
<!DOCTYPE html>
<html>

<head>
    <title></title>
</head>

<body>
	<div id='one'>点击我</div>
  <script type="text/javascript">
  	function one(){}
  	one.name='wanghaoyu';
  	var oneO=new one();
  	console.log(one.name);
  </script>
</body>

</html>

以及请问老师为什么.one.name我定义了是wanghaoyu

为什么回输出 one?

  • name就相当于关键字或者保留字一样 .one.name就相当于打印它的函数名了哦 . 所以把name改为name1可以正常访问了
    2018-09-28 19:13:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师