在javascript中,对象是拥有属性和方法的数据
本次主要讨论五种定义对象的方法

1.直接定义
创建语法:

var 对象变量名 = new Object();
对象变量名.属性1 = 属性值1;
…;
对象变量名. 属性N = 属性值N;
对象变量名. 方法1 = function([参数列表]){方法体
}
…;
对象变量名. 方法N = function([参数列表]){方法体
}

代码示例:

 var student = new Object();student.name="Lucy";student.eat=function(){console.log(this.name+"正在吃东西");}student.eat();

2.初始化定义:
创建语法:

var 对象变量名={属性1:属性值1,...,属性N:属性值N,方法1:function([参数列表]){方法体},...,方法N:function([参数列表]){方法体}
}

注意:
1.属性的定义用:(英文冒号)
2.对象的属性和方法之间用,(英文逗号)隔开,最后一个不加

代码示例:

var student = {name:"Tim",  //注意属性的定义用:age:12,eatting:function(){console.log(this.name+"正在吃东西");},running:function(){console.log(this.name+"正在跑步");}
};
student.eatting();
student.running();

3.构造函数式
创建语法:

function 构造函数([参数列表]){this.属性1=属性值;...;this.属性N=属性值;this.方法1=function([参数列表]){方法体};...;this.方法N=function([参数列表]){方法体};
}
var 对象名 = new 构造函数([参数列表]);

代码示例:

function Student(name){this.name=name;this.eatting=function(){console.log(this.name+"正在吃东西");};
}
var stu = new Student("Lily");
stu.eatting();

4.原型式
创建语法:

function 对象创建器(){
};
对象创建器.prototype.属性=属性值;
对象创建器.prototype.方法=function([参数列表]){方法体
};
var 对象名 = new 对象创建器([参数列表]);

代码示例:

 function Student(){}Student.prototype.name="Kitty";Student.prototype.eatting=function(){console.log(this.name+"正在吃东西");};var stu = new Student();stu.eatting();

5.混合式

由于构造方法式中创建对象时添加属性很容易,但是创建方法要在构造方法内部容易导致方法混乱;原型式创建对象时添加属性比较麻烦,创建方法相对容易。所以结合两者的优点就有了混合式。

创建语法:

function 构造函数([参数列表]){this.属性1=属性值;...;this.属性N=属性值;};
}
对象创建器.prototype.方法=function([参数列表]){方法体
};
var 对象名 = new 构造函数([参数列表]);

代码演示:

function Student(name){this.name=name;
}
Student.prototype.eatting=function(){console.log(this.name+"正在吃东西");
};
var stu = new Student("Linda");
stu.eatting();

Javascript中五种定义对象的方法相关推荐

  1. javascript中五种常见的DOM方法

    getElementById将返回一个与那个有着给定id属性值的元素节点对应的对象. <html xmlns="http://www.w3.org/1999/xhtml"&g ...

  2. Unity(游戏)中五种数据存储的方法

    Unity(游戏)中五种数据存储的方法 一.PlayerPrefs unity3d提供了一个用于本地持久化保存与读取的类-------PlayerPrefs.工作原理很简单,以键值对的形式将数据保存在 ...

  3. 前端百题斩【020】——竟然有五种方式实现flat方法

    写该系列文章的初衷是"让每位前端工程师掌握高频知识点,为工作助力".这是前端百题斩的第20斩,希望朋友们关注公众号"执鸢者",用知识武装自己的头脑. 20.1 ...

  4. 惊呆了,Spring中竟然有12种定义bean的方法

    前言 在庞大的 Java 技术体系中,Spring 有着举足轻重的地位,它给每位开发者带来了极大的便利和惊喜. 我们都知道 Spring 是创建和管理bean的工厂,它提供了多种方式定义 bean,能 ...

  5. java定义数组_java中数组的三种定义方式_java中数组的定义及使用方法(推荐)...

    java中数组的三种定义方式 java中,数组是一种很常用的工具,今天我们来说说数组怎么定义 [java] view plain copy /** * 数组的三种定义方法 * 1.数组类型[] 数组名 ...

  6. JavaScript的5种调用函数的方法

    这篇文章详细的介绍了Javascript中各种函数调用的方法及其原理,对于理解JavaScript的函数有很大的帮助! JavaScript,调用函数的5种方法 一次又一次的,我发现,那些有bug的J ...

  7. JavaScript 中的内置对象——0606、0607笔记整理

    一.JavaScript String 对象 1.String 对象 String 对象也是字符串. var s1="abcdefg"; 常规定义的字符串: var s2=new ...

  8. java简述常见的布局极其特点_请简要说明 Android 中五种常见布局的特点。_学小易找答案...

    [简答题]请简要说明有序广播和无序广播的区别 [简答题]请简要说明 Android 程序结构中 AndroidManifest.xml 的功能? [简答题]简述李村站人工办理进路的作业过程. [简答题 ...

  9. 深入理解C++中五种强制类型转换的使用场景

    深入理解C++中五种强制类型转换的使用场景 1.C风格的强制类型转换 2.C++风格的强制类型转换 2.1.static_cast 2.1.1.用于基本内置数据类型之间的转换 2.1.2.用于指针之间 ...

  10. python中五种下划线 _

    python中五种下划线 "_" 单前导下划线:_var 单末尾下划线:var_ 双前导下划线:__var 双前导和末尾下划线:var 单下划线:_ 在文章结尾处,你可以找到一个简 ...

最新文章

  1. c语言删除文件中的数据_第20问:删除了数据文件,该往哪个方向逃跑
  2. python 元组使用_Python3
  3. One order popup window 显示逻辑
  4. exo文件_您在eXo平台上的第一个Juzu Portlet
  5. MyBatis的学习之路(二)
  6. 项目助理这个工作怎么样_分析微信清理僵尸粉这个项目怎么样?
  7. 有趣 IOS 开展 - block 使用具体解释
  8. python二维数组初始化_如何在Python中初始化二维数组?
  9. js最新手机号码、身份证正则表达式
  10. 跨考武汉大学计算机专业,武汉大学计算机专业考研心得_跨考网
  11. PS5运行Linux,索尼发布最新驱动!PS5手柄现在已支持Linux系统
  12. 开课吧:大数据时代,数据分析的特点是什么?
  13. 记录wuyi公积金调用过程
  14. python中else与for_在Python中使用else条件语句和for循环
  15. javaweb实现即时消息推送功能
  16. Android Camera聚焦区域和测光区域的设置
  17. GNSS 周跳探测方法 之 TurboEdit
  18. Python 结巴(jieba)库之花拳绣腿
  19. Surface Book2 购买、使用、体验
  20. Chrome无头模式获取直播间弹幕

热门文章

  1. 谈谈“天轰穿”老师对VS2005的视频讲座
  2. HTML页面的全屏显示-Fullscreen API
  3. 「 机器人学 」机器人与控制工程基础浅谈
  4. java音量调节_音量控制setVolumeControlStream
  5. Ubuntu系统安装搜狗(sougou for linux)输入法详细教程
  6. 计算机车辆识别检测毕业设计,车辆识别论文,关于基于计算机网络技术的车辆识别技术相关参考文献资料-免费论文范文...
  7. java netbean_java NetBean创建及各菜单项相对应的窗体及布局教程.pdf
  8. [转载]希捷固件门7200.12 CC46固件升级方法
  9. 从零开始了解 kubernetes,还有谁不会?
  10. Themida和Winlicense加壳软件脱壳教程