javascript中5种常用对象创建方式


文章目录

一、直接创建方式

二、对象初始化器方式

三、构造函数方法

四、prototype原型方式

五、混合的构造函数/原型方式


一、直接创建方式

1、创建语法

var 对象变量名 = new Object();

对象变量名. property1 = value1;

…;

对象变量名. propertyN = valueN;

对象变量名. methodName1 = function([参数列表]){

//函数体

}

…;

对象变量名. methodNameN = function([参数列表]){

//函数体

}

2、基础示例

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script>var student = new Object();//直接创建对象student.name="Tom";//定义变量student.doHomework=function(){//定义方法console.log(this.name+name+"@@@@@@@@@@@");}console.log(student.name);//输出学生姓名student.doHomework();//调用方法</script></head><body></body>
</html>

3、运行结果

二、对象初始化器方式

1、创建语法

var 对象变量名 = {

property1 : value1,

property2 : value2,

,

propertyN : valueN,

methodName1 : function([parameter_list]){

//函数体

},

,

methodNameN : function([parameter_list]){

//函数体

}

}

2、基础示例

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script>//对象初始化器方式var object={url:"",success:function(data){console.log(data+"自主学习");}};object.success("Tom")//调用方法,并传参</script></head><body></body>
</html>

3、运行结果

三、构造函数方法

1、创建语法

function  构造函数([参数列表]){

this.属性 = 属性值;

this.属性N = 属性值N;

this.函数1 = function([参数列表]){

//函数体

} ;

this.函数N = function([参数列表]){

//函数体

} ;

}

2、基础示例

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script><!--构造函数方式便于动态为属性赋值,但是这种方式将方法也定义在了构造方法体中,使得代码比较杂乱-->function Student(score){this.name="Tom";this.score=score;this.doHomework=function(){console.log(this.name+"正在做作业");}}var student=new Student(88);console.log(student.score)//调用属性并输出student.doHomework();//调用方法</script></head><body></body>
</html>

3、运行结果

四、prototype原型方式

1、创建语法

function 对象构造器( ){

}

对象构造器.prototype.属性名=属性值;

对象构造器.prototype.函数名 = function([参数列表]){

//函数体

}

2、基础示例

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script><!--prototype原型方式实现了方法与属性的分离,使代码不混乱,但不能动态的给属性赋值-->function Student(){}Student.prototype.name="Tom";Student.prototype.doHomework=function(){console.log("正在做作业")}var student = new Student();student.doHomework();</script></head><body></body>
</html>

3、运行结果

五、混合的构造函数/原型方式

1、创建语法

function 对象构造器([参数列表]){

}

对象构造器.prototype.函数名 = function([参数列表]){

//函数体

}

2、基础示例

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script><!--混合的构造函数/原型方式实现了方法与属性的分离,使代码不混乱,且能动态的给属性赋值-->function Student(name){this.name=name;//动态的给name赋值}Student.prototype.doHomework=function(){console.log(this.name+"正在做作业")}var student = new Student("Tom");student.doHomework();</script></head><body></body>
</html>

3、运行结果

javascript中常用的对象创建方式有哪些?相关推荐

  1. JavaScript中的面向对象--对象创建

    JavaScript高级程序设计第3版总结p156 1.JavaScript中的对象 首先,ECMAScript 中函数实际上是对象.每个函数都是 Function 类型的实例,而且都与其他引用类型一 ...

  2. javascript一种新的对象创建方式-Object.create()

    1.Object.create() 是什么? Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式,第一个参数是要继承的原型,如果不 ...

  3. JavaScript新的对象创建方式---Object.create()

    Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式, 第一个参数是要继承的原型,如果不是一个子函数,可以传一个null, 第二个参 ...

  4. JavaScript中的几种继承方式及优缺点,你知道多少呢?

    原文连接:JavaScript中的几种继承方式及优缺点,你知道多少呢? 继承也是前端里面的重要的一个知识点,在实际工作中或者面试中也会经常的遇到,那么通过这篇文章我们详细的了解一下继承的几种方式以及各 ...

  5. 【从0到1学Web前端】javascript中的ajax对象(一)

    [从0到1学Web前端]javascript中的ajax对象(一) 如今最流行的获取后端的(浏览器从server)数据的方式就是通过Ajax了吧.今天就来具体的来学习下这个知识吧.假设使用ajax来訪 ...

  6. JavaScript id_好程序员web前端分享Javascript中函数作为对象

    好程序员web前端分享Javascript中函数作为对象,Javascript赋予了函数非常多的特性,其中最重要的特性之一就是将函数作为第一型的对象.那就意味着在javascript中函数可以有属性, ...

  7. 选择嵌套_如何优雅地在JavaScript中访问嵌套对象

    在JavaScript中访问嵌套对象 以超酷的方式安全地访问JavaScript中的嵌套对象 JavaScript是惊人的,我们都知道.但是JavaScript中的一些东西真的很奇怪,它们让我们大开眼 ...

  8. 广州蓝景分享—前端开发JavaScript中的Array对象与其他数组

    各位小伙伴好,今天我们广州蓝景与大家分享一些前端技术知识. JavaScript中的Array对象与其他编程语言中的数组一样,可以将多个项目的集合存储在单个变量名下,并具有用于执行常见数组操作的成员. ...

  9. 第163天:js面向对象-对象创建方式总结

    面向对象-对象创建方式总结 1. 创建对象的方式,json方式 推荐使用的场合: 作为函数的参数,临时只用一次的场景.比如设置函数原型对象. 1 var obj = {}; 2 //对象有自己的 属性 ...

  10. php节点对象,JavaScript_JavaScript中访问节点对象的方法有哪些如何使用,JavaScript中访问节点对象的方法 - phpStudy...

    JavaScript中访问节点对象的方法有哪些如何使用 JavaScript中访问节点对象的方法有哪些? var obj = document.getElementById('fdafda'); va ...

最新文章

  1. 任天堂遭史上最严重黑客攻击:完整源代码、设计文档及技术演示泄露
  2. jQuery插件总动员
  3. Ajax跨域问题的两种解决方法
  4. react router4 需要配置2遍BrowserRouter
  5. java 人脸识别jar包_java版天网人脸识别系统,获取视频流人脸识识别推送服务器展示...
  6. 红橙Darren视频引申 第一次写NDK项目(Android studio 4.1.1)
  7. 在CentOS上安装7zip和使用
  8. Johnson算法寻找图中的所有简单环路
  9. Baxter学习笔记
  10. 阿里云P10技术专家褚霸:我是一个程序员
  11. MuMu模拟器的安装
  12. Windows10更新错误显示0x8000ffff,易升更新0xc1900107
  13. html5 日历 仿ios,一款完整的蓝白风格HTML5日历应用程序
  14. 跟随鼠标移动-demo
  15. dw cs5 html,dreamweaver cs5网页制作图文教程
  16. 用GitHub做一份精美的在线简历
  17. 从零构建一个riscv64 ubuntu-20发行版系统
  18. CS61A Lab 4
  19. c语言教学知识,C语言的编程教程_入门教学知识
  20. java person类_定义一个Person类,含姓名、性别、年龄等字段;继承Person类设计

热门文章

  1. zoj3829 Known Notation --- 2014 ACM-ICPC Asia Mudanjiang Regional Contest
  2. 键入强力推进并解决强转
  3. SpringMVC+uploadify3.2.1版实现附件上传功能(直接可以使用)
  4. UISegmentedControl触发事件的错误
  5. 浅谈c#变量的命名规则
  6. 地理编码涉及的专项技术
  7. 在做简单网页时,遇到的一些js问题
  8. 【mysql】mysql常用语句
  9. sqlldr导入数据(以PostgreSqlOracle为例)
  10. Hadoop简单安装配置