一、对象的声明

1. 使用字面量(json格式)的方式构建对象

var obj={
属性名:属性值,
方法名:function(){
//函数执行体
}
}

2. 使用 new Object() 的方式构建对象

var obj=new Object();
obj.属性名=属性值;
obj.方法名=function(){
//函数执行体
}

3. 使用 Object.create(obj) 的方式构建对象

var Foo={
属性名:属性值,
方法名:function(){
//函数执行体
}
}
var obj=Object.create(Foo);

注意:使用此方式创建出来 obj.__proto__ = Foo

4. 使用构造函数的方式构建对象

function Foo([参数列表]){
this.属性名=属性值;
this.方法名=function(){
//函数执行体
}
}
var obj=new Foo(参数);

5. 使用工厂方式构建对象

function createObject(nam,age){
var Foo=new Object();
Foo.name=name;
Foo.age=age;
Foo.run=function(){
return this.name+this.age
};
return Foo;
}
var obj1=createObject(‘zhangsan’,100);
var obj2=createObject(‘lisi’,200);

6. 使用原型模式构建对象

function Foo(){
Foo.prototype.属性名=属性值;
Foo.prototype.方法名=function(){
//函数执行体
}
}
var obj=new Foo();

7. 使用混合模式构建对象

function Foo(参1,参2){
this.属性名1=参1;
this.属性名2=参2;
}
Foo.prototype.方法名=function(){
//执行代码
}
var obj=new Foo(参1,参2);

二、对象的遍历

  • for-in是为遍历对象而设计的,不适用于遍历数组。

  • 遍历数组的缺点:数组的下标index值是数字,for-in遍历的index值"0","1","2"等是字符串

var obj={
name:"Zhangsan",
age:"18",
action:function(){
alert("Hello!");
}
}
for (var i in obj){
console.log(i); //控制台依次显示:name age action
}
for (var i in obj){
console.log(obj[i]); //控制台依次显示:Zhangsan 18 ƒ (){alert("Hello!");}
alert("Hello!");
}
}

三、对象的存储

var obj={}
obj.name="Zhangsan";
obj.age="18";
obj.action=function(){
alert("Hello!");
}
 

JavaScript面向对象之对象的声明、遍历和存储的更多相关文章

  1. Java面向对象----String对象的声明和创建

    String a="abcd"  相等  String b="abcd" String a=new String("abcd")   不等于 ...

  2. javascript中的对象,原型,原型链和面向对象

    一.javascript中的属性.方法 1.首先,关于javascript中的函数/“方法”,说明两点: 1)如果访问的对象属性是一个函数,有些开发者容易认为该函数属于这个对象,因此把“属性访问”叫做 ...

  3. 03.JavaScript 面向对象精要--理解对象

    JavaScript 面向对象精要--理解对象 尽管JavaScript里有大量内建引用类型,很可能你还是会频繁的创建自己的对象.JavaScript中的对象是动态的. 一.定义属性 当一个属性第1次 ...

  4. 转载:Javascript面向对象编程原理 -- 理解对象

    源地址:http://www.html-js.com/article/1717 虽然JavaScript中已经自带了很多内建引用类型,你还是会很频繁的需要创建自己的对象.JavaScript编程的很大 ...

  5. JavaScript高级:JavaScript面向对象,JavaScript内置对象,JavaScript BOM,JavaScript封装

    知识点梳理 课堂讲义 1.JavaScript面向对象 1.1.面向对象介绍 在 Java 中我们学习过面向对象,核心思想是万物皆对象. 在 JavaScript 中同样也有面向对象.思想类似. 1. ...

  6. JavaScript面向对象—对象的创建和操作

    JavaScript面向对象-对象的创建和操作 前言 虽然说在JavaScript编程语言中,函数是第一公民,但是JavaScript不仅支持函数式编程,也支持面向对象编程.JavaScript对象设 ...

  7. 了解JavaScript 面向对象基础 & 原型与对象

    面向对象语言中的对象 老是能听到什么基于对象, 面向对象. 什么是对象, 如果有面向对象基础的人可以无视了, 下面举个简单的例子给大家讲讲面向对象中, 对象的定义, 这个是比较通用的, 不过对于JS来 ...

  8. javascript面向对象系列第一篇——构造函数和原型对象

    × 目录 [1]构造函数 [2]原型对象 [3]总结 前面的话 一般地,javascript使用构造函数和原型对象来进行面向对象编程,它们的表现与其他面向对象编程语言中的类相似又不同.本文将详细介绍如 ...

  9. javascript面向对象精要第三章对象整理精要

    什么是对象的数据属性?什么是对象的访问器属性?[put]方法是默认创建数据属性的,访 问器属性不包含值而是定义了一个单属性被读取时调用的函数(getter)和当一个属性被写入时 调用的函数(sette ...

随机推荐

  1. 创建一个显示所有预定义WPF颜色的ListBox

    原文 Creating a ListBox that Shows All Predefined WPF Colors 在WPF中,您可以使用Colors类访问一系列预定义颜色,这些颜色定义为Color ...

  2. hdu 2128 Frog(简单DP)

    Frog Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submi ...

  3. AngularJS ng-if使用

    示例中,根据ng-if指令显示不同任务状态,以及判断任务是否可以操作 <div ng-app="NgifDemoApp" ng-controller="NgifDe ...

  4. ubuntu 关闭 phpmyadmin

    apache 有很多管理服务器的命令.apt-get installl phpmyadmin后突然想暂时关闭phpmyadmin,只需要a2disconf phpmyadmin即可.需要启用的时候再输 ...

  5. C#正则表达式的完全匹配、部分匹配及忽略大小写的问题

    原文:C#正则表达式的完全匹配.部分匹配及忽略大小写的问题 问题的提出 根据用户给定表达式,里面含有各种数学函数,如求绝对值,三角函数,平方.开方等,分别以类似ABS(表达式),Sin(表达式),AS ...

  6. C# WinForm TreeView选择父节点子节点全选

    //设置标志,防止死循环 bool check = false; public void TV_AfterCheck(object sender, TreeViewEventArgs e) { if ...

  7. spring.net的简单使用(四)对象属性注入

    创建了对象,如果是简单对象就到此为止,如果是复杂对象,则需要为它的属性赋值. 属性赋值有两种方法:属性注入和构造器注入. 一.属性注入 在object节点下使用property就是属性注入,如下: & ...

  8. QQ邮箱打败163邮箱的过程(重视用户体验的结果)

    引用 楼主 CKAOS 的回复: 目前负责一个项目,ASP.NET的,做一个网盘系统,别的都弄好了,只差一个下载文件夹的功能未实现,只能在服务器端打包成压缩文件,再发回浏览器.如何直接下载文件夹,不是 ...

  9. 微服务之Service Fabric 系列 (一):概览、环境安装

    参考 微软官方文档  service fabric 百家号   大话微服务架构之微服务框架微软ServiceFabric正式开源 一.概述 1.概念 Azure Service Fabric 是一款分 ...

  10. Another maybe monad library for ruby

    欢迎任何形式的转载,但请务必注明出处:http://www.cnblogs.com/liangjingyang 项目地址:https://github.com/liangjingyang/maybe_ ...