如何声明对象方法?

问题描述

问题出现的环境背景及自己尝试过哪些方法

相关代码

<script>



    //声明构造函数
    function ElementC (elementname,fatherelement,number) {        //传入需要创建的元素名字
        this.e = document.createElement(elementname);        //传入需要加入哪个父元素的子元素末尾
        this.fe = document.getElementsByTagName(fatherelement);
    }    //声明可继承方法,创建元素方法
    ElementC.prototype.create = function () {        this.fe.appendChild(this.e);
    }


onload=function (){    //创建对象
    var test = new ElementC("table","body");    //调用创建元素方法
    test.create();

}</script>

我想创建一个对象,有一个实现最简单的添加元素的方法,不过报错提示没有这个函数
这里用用prototype声明,因为我看的视频教程说,这个属性里的方法都是可继承的。

https://img1.mukewang.com/5c8f3c8c0001896c07740265.jpg

还有一点,关于javascript面向对象,原型,继承,什么子类之类讲解比较好的的视频哪里有啊,感谢各位大佬

达令说
浏览 529回答 2
2回答

繁花如伊

document.getElementsByTagName这个方法返回的是一个集合,题中你写的是body标签,因此它会找到所有的body标签,整合成一个集合,供你使用因此你将你的代码修改一下//&nbsp;在集合中拿第一个元素this.fe&nbsp;=&nbsp;document.getElementsByTagName(fatherelement)[0];其实在2019年,我更推荐你使用document.querySelector(fatherelement);这个方法获取DOM节点非常非常方便关于你说的js基础知识,我个人觉得看视频去了解这些基础知识是效率是比较慢的建议你可以看书了解推荐两本书 《js高级程序设计》,《你不知道的js上卷》,着重就轻,结合书本和网上资料,MDN等。

慕田峪4524236

document.getElementsByTagName(fatherelement)返回的是一个HTMLCollection,也就是HTML 元素的集合。appendChild是单个元素的函数。建议运行程序的时候在错误的地方打断点,搞清楚每运行一行代码,各个变量的值是什么。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript