专栏首页Web前端开发JavaScript面向对象之对象的声明、遍历和存储

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!");
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 服务端推送通信技术及其优劣势

    在 Ajax 轮询的基础上做的改进,在后端数据没有更新的时不再返回空响应,而且后端一直保存连接,直到后端有数据变化,则相应请求并且关闭连接,前端收到数据后,再次...

    Leophen
  • link和@import的区别

    link 除了引用样式文件,还可以引用图片等资源文件,而 @import 只引用样式文件

    Leophen
  • JS/TS 对数组中的对象按对象的值进行去重

    Leophen
  • git submodule update: error: Server does not allow request for unadvertised...

    版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/803...

    用户1148648
  • js对象监听实现

    随着前端交互复杂度的提升,各类框架如angular,react,vue等也层出不穷,这些框架一个比较重要的技术点就是数据绑定。数据的监听有较多的实现方案,本文将...

    前端博客 : alili.tech
  • 原生JavaScript第二天

    1.typeof操作符 typeof操作符用来检测变量的数据类型 2.数据类型 2.1Undefined类型,只有一个值undefined(在使用var声明变量...

    苦咖啡
  • python 常用代码段汇总(二) 下划线转驼峰 计算 md5 值

    思路,首先,将入参字符串转小写,然后用下划线分割成列表数据,过滤空后,将每段的字符串的首字母转大写,其余继续原样拼装后,组成一个大字符串就是结果。

    FungLeo
  • 看得懂的设计模式 享元模式python3 最基本(简单)实现

    在考量系统内存合理使用时,通过享元模式可降低性能压力以及降低资源占用;主要实现是通过共享数据这一思想实现资源的合理分配。

    碧油鸡
  • JavaScript重构技巧-让函数简单明了

    JavaScript 是一种易于学习的编程语言,编写运行并执行某些操作的程序很容易。然而,要编写一段干净的JavaScript 代码是很困难的。

    前端小智@大迁世界
  • 大量开发者会将访问token和API密钥硬编码至Android应用

    现如今,许多开发者仍然习惯于将access token(访问凭证)和API key(API密钥)等敏感内容编码到移动APP中去,将依托于各种第三方服务的数据资产...

    FB客服

扫码关注云+社区

领取腾讯云代金券