javascript对象的创建和访问

 更新时间:2016年03月08日 10:16:10   作者:LAVERTON  
这篇文章主要为大家详细介绍了javascript对象的创建和访问实现方法,感兴趣的小伙伴们可以参考一下

JavaScript,很少能让人想到它面向对象的特性,甚至有人说它不是面向对象的语言,因为它没有类。没错, JavaScript 真的没有类,但 JavaScript 是面向对象的语言。 JavaScript 只有对象,对象就是对象,不是类的实例。
因为绝大多数面向对象语言中的对象都是基于类的,所以经常有人混淆类的实例与对象的概念。对象就是类的实例,这在大多数语言中都没错,但在 JavaScript 中却不适用。JavaScript 中的对象是基于原型的。

创建和访问

JavaScript 中的对象实际上就是一个由属性组成的关联数组,属性由名称和值组成,值的类型可以是任何数据类型,或者函数和其他对象。注意 JavaScript 具有函数式编程的特性,所以函数也是一种变量,大多数时候不用与一般的数据类型区分。

在 JavaScript 中,你可以用以下方法创建一个简单的对象:

var foo = {};
foo.prop_1 = 'bar';
foo.prop_2 = false;
foo.prop_3 = function() {
return 'hello world';
}
console.log(foo.prop_3());

以上代码中,我们通过 var foo = {}; 创建了一个对象,并将其引用赋值给 foo,
通过 foo.prop1 来获取它的成员并赋值,其中 {} 是对象字面量的表示方法,也可以用 var foo = new Object() 来显式地创建一个对象。
1. 使用关联数组访问对象成员
我们还可以用关联数组的模式来创建对象,以上代码修改为:

var foo = {};
foo['prop1'] = 'bar';
foo['prop2'] = false;
foo['prop3'] = function() {
return 'hello world';
}

在 JavaScript 中,使用句点运算符和关联数组引用是等价的,也就是说任何对象(包括
this 指针)都可以使用这两种模式。使用关联数组的好处是,在我们不知道对象的属性名称的时候,可以用变量来作为关联数组的索引。例如:

var some_prop = 'prop2';
foo[some_prop] = false;

2.使用对象初始化器创建对象
上述的方法只是让你对JavaScript对象的定义有个了解,真正在使用的时候,我们会采用下面这种更加紧凑明了的方法:

var foo = {
  'prop1': 'bar',
  prop2: 'false',
  prop3: function (){
  return 'hello world';
  }
};

这种定义的方法称为对象的初始化器。注意,使用初始化器时,对象属性名称是否加引号是可选的,除非属性名称中有空格或者其他可能造成歧义的字符,否则没有必要使用引号。

以上就是javascript创建和访问对象的实现方法,希望对大家的学习有所帮助。

相关文章

  • JavaScript统计字符串中每个字符出现次数完整实例

    JavaScript统计字符串中每个字符出现次数完整实例

    这篇文章主要介绍了JavaScript统计字符串中每个字符出现次数的方法,以完整实例形式分析了JavaScript针对字符串中字符的遍历操作相关技巧,需要的朋友可以参考下
    2016-01-01
  • Js callBack 返回前一页的js方法

    Js callBack 返回前一页的js方法

    通过 window.opener 实现。关于这个对象的用法请查阅相关资料。
    2008-11-11
  • 使用 JavaScript如何获取当月的第一天和最后一天

    使用 JavaScript如何获取当月的第一天和最后一天

    这篇文章主要介绍了使用 JavaScript如何获取当月的第一天和最后一天,通过本文学习了如何使用 JavaScript 中的Date.getFullYear()和 Date.getMonth()方法获得某个特定月份的第一天和最后一天,需要的朋友可以参考下
    2023-05-05
  • js判断页面中是否有指定控件的简单实例

    js判断页面中是否有指定控件的简单实例

    本篇文章主要是对js判断页面中是否有指定控件的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-03-03
  • 微信小程序中如何使用store数据共享

    微信小程序中如何使用store数据共享

    全局数据共享 全局数据共享(状态管理)是为了解决组件之间数据共享的问题,开发中常用的全局数据共享方案有:Vuex、Redux、MobX等,这篇文章主要介绍了微信小程序中如何使用store数据共享,需要的朋友可以参考下
    2023-04-04
  • 微信小程序自动客服功能

    微信小程序自动客服功能

    微信小程序最近比较热,今天小编抽空做了一个客服机器人的小程序,下面小编给大家分享微信小程序自动客服功能,需要的朋友参考下吧
    2017-11-11
  • javascript每日必学之多态

    javascript每日必学之多态

    javascript每日必学之多态,介绍了有关多态的相关内容,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 使用defer和async实现高效加载JavaScript

    使用defer和async实现高效加载JavaScript

    async和defer都是异步加载脚本,但async是加载完脚本后立即执行,而defer是在HTML解析完成后再执行脚本,本文给大家介绍了如何使用defer和async高效加载JavaScript,文中通过代码和图文讲解的非常详细,需要的朋友可以参考下
    2024-06-06
  • 解决layui弹出层layer的area过大被遮挡的问题

    解决layui弹出层layer的area过大被遮挡的问题

    今天小编就为大家分享一篇解决layui弹出层layer的area过大被遮挡的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JavaScript的new date等日期函数在safari中遇到的坑

    JavaScript的new date等日期函数在safari中遇到的坑

    safari中对于JavaScript的new Date函数的支持有一个比较奇怪的问题,带着这个奇怪的问题我们通过本文一起学习吧
    2016-10-10

最新评论