javascript类的定义方法有哪些

方法有:1、构造函数法,语法“function Cat(){}var cat1=new Cat();}”;2、Object.create()法,语法“var Cat={};var cat1=Object.create(Cat);”。

javascript类的定义方法有哪些

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

在面向对象编程中,(class)是对象(object)的模板,定义了同一组对象(又称”实例”)共有的属性和方法。

Javascript语言不支持”类”,但是可以用一些变通的方法,模拟出”类”。

一、构造函数法

立即学习“Java免费学习笔记(深入)”;

这是经典方法,也是教科书必教的方法。它用构造函数模拟”类”,在其内部用this关键字指代实例对象。

  function Cat() {    this.name = "大毛";  }

登录后复制

生成实例的时候,使用new关键字。

  var cat1 = new Cat();  alert(cat1.name); // 大毛

登录后复制

类的属性和方法,还可以定义在构造函数的prototype对象之上。

  Cat.prototype.makeSound = function(){    alert("喵喵喵");  }

登录后复制

关于这种方法的详细介绍,请看我写的系列文章《Javascript 面向对象编程》,这里就不多说了。它的主要缺点是,比较复杂,用到了this和prototype,编写和阅读都很费力。

二、Object.create()法

为了解决”构造函数法”的缺点,更方便地生成对象,Javascript的国际标准ECMAScript第五版(目前通行的是第三版),提出了一个新的方法Object.create()。

用这个方法,”类”就是一个对象,不是函数。

  var Cat = {    name: "大毛",    makeSound: function(){ alert("喵喵喵"); }  };

登录后复制

然后,直接用Object.create()生成实例,不需要用到new。

  var cat1 = Object.create(Cat);  alert(cat1.name); // 大毛  cat1.makeSound(); // 喵喵喵

登录后复制

目前,各大浏览器的最新版本(包括IE9)都部署了这个方法。如果遇到老式浏览器,可以用下面的代码自行部署。

  if (!Object.create) {    Object.create = function (o) {       function F() {}      F.prototype = o;      return new F();    };  }

登录后复制

这种方法比”构造函数法”简单,但是不能实现私有属性和私有方法,实例对象之间也不能共享数据,对”类”的模拟不够全面。

【推荐学习:javascript高级教程】

以上就是javascript类的定义方法有哪些的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2714585.html

(0)
上一篇 2025年3月7日 21:35:34
下一篇 2025年2月26日 11:15:02

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • javascript字符串如何进行编码转换

    javascript字符串进行编码转换的方法:1、使用escape()函数,对字符串进行编码以便它们能在所有计算机上可读,语法“escape(字符串)”;2、使用unescape()函数,语法“unescape(字符串)”。 本教程操作环境…

    2025年3月7日
    200
  • javascript如何关闭浏览器事件

    javascript关闭浏览器事件的方法:1、使用onbeforeunload方法,关闭或刷新浏览器会触发此事件;2、使用popstate方法,代码为【history.pushState(“123”, null, d…

    2025年3月7日
    200
  • javascript参数类型转换有哪些方法

    javascript参数类型转换的方法:1、显式数据类型转换,包括Number转换、其它类型转为boolean值等等;2、隐式转换,包括转number、转string等等。 本教程操作环境:windows7系统、javascript1.8.…

    2025年3月7日
    200
  • IE中JavaScript错误有哪些

    IE中JavaScript错误有:1、【error # 5】无效的过程调用或参数;2、【error # 6】溢出;3、【error # 7】内存不够;4、【error # 9】下标越界;5、【error # 11】被零除。 本教程操作环境:…

    2025年3月7日
    200
  • javascript多行注释如何实现

    javascript多行注释的实现方法是使用【/*】和【*/】可以定义多行注释信息,包含在【/*】和【*/】符号之间的任何字符都视被为注释文本而忽略掉。 本教程操作环境:windows7系统、javascript1.8.5版,DELL G3…

    2025年3月7日
    200
  • javascript怎么开启

    javascript的开启方法:首先进入浏览器,点击internet选项;然后在安全级别的“自定义级别”,找到“脚本”找到JAVE点击“启用”,在活动脚本点击“启用”;最后确定你设置好的项目,点击“确定”。 本教程操作环境:windows7…

    2025年3月7日 编程技术
    200
  • javascript怎么删除表格行

    javascript删除表格行的方法:首先使用“document.querySelector(“tr”)”语句获取表格tr(行)对象;然后使用“tr.remove()”语句来删除表格中的一行单元格。 本教程操作环境:…

    2025年3月7日
    200
  • javascript怎么将字母转为小写

    javascript字母转为小写的方法:1、使用toLowerCase()函数,语法“string.toLowerCase()”;2、使用toLocaleLowerCase()函数,可以根据本地主机的语言环境把字符串转换为小写。 本教程操作…

    2025年3月7日
    200
  • 网页显示javascript错误怎么解决

    网页显示javascript错误的解决方法:首先点击工具项,选择工具项中的“Internet选项”;然后切换到安全标签页中,单击自定义级别进入;接着找到“java小程序脚本”,选择“启用”项;最后直接点击“是”按钮即可。 本教程操作环境:w…

    2025年3月7日 编程技术
    200
  • javascript怎么修改div内容

    javascript修改div内容的方法:首先使用“document.getElementById(‘id值’)”语句根据id值获取div对象;然后使用innerHTML属性修改div内容,语法“div对象.inne…

    2025年3月7日
    200

发表回复

登录后才能评论