JavaScript面向对象之对象的声明、遍历和存储
一、对象的声明
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面向对象之对象的声明、遍历和存储的更多相关文章
- Java面向对象----String对象的声明和创建
String a="abcd" 相等 String b="abcd" String a=new String("abcd") 不等于 ...
- javascript中的对象,原型,原型链和面向对象
一.javascript中的属性.方法 1.首先,关于javascript中的函数/“方法”,说明两点: 1)如果访问的对象属性是一个函数,有些开发者容易认为该函数属于这个对象,因此把“属性访问”叫做 ...
- 03.JavaScript 面向对象精要--理解对象
JavaScript 面向对象精要--理解对象 尽管JavaScript里有大量内建引用类型,很可能你还是会频繁的创建自己的对象.JavaScript中的对象是动态的. 一.定义属性 当一个属性第1次 ...
- 转载:Javascript面向对象编程原理 -- 理解对象
源地址:http://www.html-js.com/article/1717 虽然JavaScript中已经自带了很多内建引用类型,你还是会很频繁的需要创建自己的对象.JavaScript编程的很大 ...
- JavaScript高级:JavaScript面向对象,JavaScript内置对象,JavaScript BOM,JavaScript封装
知识点梳理 课堂讲义 1.JavaScript面向对象 1.1.面向对象介绍 在 Java 中我们学习过面向对象,核心思想是万物皆对象. 在 JavaScript 中同样也有面向对象.思想类似. 1. ...
- JavaScript面向对象—对象的创建和操作
JavaScript面向对象-对象的创建和操作 前言 虽然说在JavaScript编程语言中,函数是第一公民,但是JavaScript不仅支持函数式编程,也支持面向对象编程.JavaScript对象设 ...
- 了解JavaScript 面向对象基础 & 原型与对象
面向对象语言中的对象 老是能听到什么基于对象, 面向对象. 什么是对象, 如果有面向对象基础的人可以无视了, 下面举个简单的例子给大家讲讲面向对象中, 对象的定义, 这个是比较通用的, 不过对于JS来 ...
- javascript面向对象系列第一篇——构造函数和原型对象
× 目录 [1]构造函数 [2]原型对象 [3]总结 前面的话 一般地,javascript使用构造函数和原型对象来进行面向对象编程,它们的表现与其他面向对象编程语言中的类相似又不同.本文将详细介绍如 ...
- javascript面向对象精要第三章对象整理精要
什么是对象的数据属性?什么是对象的访问器属性?[put]方法是默认创建数据属性的,访 问器属性不包含值而是定义了一个单属性被读取时调用的函数(getter)和当一个属性被写入时 调用的函数(sette ...
随机推荐
- Codeforces 458A Golden System
经过计算两个字符串的大小对比 主要q^2=q+1 明明是斐波那契数 100000位肯定超LL 我在每一位仅仅取到两个以内 竟然ac了 #include<bits/stdc++.h> usi ...
- 存储过程和输出分辨率表菜单JSON格式字符串
表的结构,如以下: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo] ...
- windows下启动redis
解决方案 使用现成的基于windows的redis程序 github上有许多封装好的基于windows的redis程序,可以直接使用,但是版本更新不及时比如: https://github.com/M ...
- LeapMotion Demo2
原文:LeapMotion Demo2 官方doc有四个手势,最近尝试实现对握拳的识别,并能在我的程序界面上体现出来. 调试过程较为繁琐,幸好最终效果还差强人意! 首先看看我的效果图: ...
- NoSQL Manager for Cassandra 3.2.0.1 带Key
NoSQL Manager for Cassandra 3.2.0.1 是一个Windows平台下Cassandra 数据库的高级管理工具.请低调使用. NoSQLManagerforCassandr ...
- apache卸载
windows下apache如何完整卸载? 原创 2014年08月14日 21:30:38 13960 1.运行services.msc,在服务中停止 apache 服务. 2.运行命令行程序,输入 ...
- Java泛型和类型安全的容器
示例: public class Apple { private static long counter; private final long id = counter++; public long ...
- 通过Chrome扩展来批量复制知乎好友
1.初始化文件 Chrome 官方扩展教程地址 新建一个文件夹 zhi-follow 下图中 1 部分为 默认的图标3种尺寸 会显示在 Chrome 中 2. 定义按钮样式 页面上会有 ...
- 传入字典的模型项的类型为“System.Boolean”,但此字典需要类型“InternalCRM.EntityIACrm.Template”的模型项。
“/”应用程序中的服务器错误. 传入字典的模型项的类型为“System.Boolean”,但此字典需要类型“InternalCRM.EntityIACrm.Template”的模型项. 说明: 执行当 ...
- C#判断是否相等
判断对象是否相等,因为平时用的一般都是int.bool.string类型的数据是否相等. 同时也是只判断它们的“值”是否相等.于是都是用“==”或是Equal()方法来判断. 但这并不能判断出是否为同 ...
