悟透JavaScript(7)

作者:李战 来源:软件真谛 时间:2008-05-29 22:15:00 

对象素描

已经说了许多了许多话题了,但有一个很基本的问题我们忘了讨论,那就是:怎样建立对象?

在前面的示例中,我们已经涉及到了对象的建立了。我们使用了一种被称为JavaScript Object Notation(缩写JSON)的形式,翻译为中文就是“JavaScript对象表示法”。

JSON为创建对象提供了非常简单的方法。例如,

创建一个没有任何属性的对象:

var o = {};
    创建一个对象并设置属性及初始值:
var person = {name: "Angel", age: 18, married: false};
    创建一个对象并设置属性和方法:
var speaker = {text: "Hello World", say: function(){alert(this.text)}};
     创建一个更复杂的对象,嵌套其他对象和对象数组等:
    var company =
    {
        name: "Microsoft",
        product: "softwares",
        chairman: {name: "Bill Gates", age: 53, Married: true},
        employees: [{name: "Angel", age: 26, Married: false}, {name: "Hanson", age: 32, Marred: true}],
        readme: function() {document.write(this.name + " product " + this.product);}
    };

JSON的形式就是用大括“{}”号包括起来的项目列表,每一个项目间并用逗号“,”分隔,而项目就是用冒号“:”分隔的属性名和属性值。这是典型的字典表示形式,也再次表明了 JavaScript里的对象就是字典结构。不管多么复杂的对象,都可以被一句JSON代码来创建并赋值。

其实,JSON就是JavaScript对象最好的序列化形式,它比XML更简洁也更省空间。对象可以作为一个JSON形式的字符串,在网络间自由传递和交换信息。而当需要将这个JSON字符串变成一个JavaScript对象时,只需要使用eval函数这个强大的数码转换引擎,就立即能得到一个JavaScript内存对象。正是由于JSON的这种简单朴素的天生丽质,才使得她在AJAX舞台上成为璀璨夺目的明星。

JavaScript就是这样,把面向对象那些看似复杂的东西,用及其简洁的形式表达出来。卸下对象浮华的浓妆,还对象一个眉目清晰!

标签:javascript,对象,编程,函数
0
投稿

猜你喜欢

  • javascript实现Table排序的方法

    2024-04-19 10:16:19
  • Python中实现远程调用(RPC、RMI)简单例子

    2022-11-20 06:23:27
  • FSO如何一行行地读取文件?

    2010-06-10 18:40:00
  • Python函数式编程实例详解

    2023-02-26 21:26:31
  • python+opencv识别图片中的圆形

    2022-02-10 00:04:23
  • JavaScript数组及非数组对象的深浅克隆详解原理

    2024-04-19 09:52:51
  • python3实现将json对象存入Redis以及数据的导入导出

    2022-05-05 16:31:27
  • SQL语言基本语句介绍

    2008-07-24 13:32:00
  • java使用正则表达式判断邮箱格式是否正确的方法

    2022-07-24 20:31:10
  • Python Opencv实现最强美颜滤镜效果

    2021-11-09 11:23:15
  • vue动态绑定class选中当前列表变色的方法示例

    2024-04-10 13:48:51
  • 一篇文章带你了解谷歌这些大厂是怎么写 python 代码的

    2021-03-05 05:14:51
  • php延迟静态绑定实例分析

    2023-11-23 11:44:57
  • MYSQL数据库教程:唯一编号

    2009-02-27 15:27:00
  • Python实现复杂对象转JSON的方法示例

    2021-11-14 09:55:47
  • Python UI自动化测试Web frame及多窗口切换

    2023-05-29 01:18:55
  • python使用SQLAlchemy操作MySQL

    2024-01-16 19:11:11
  • CentOS 7.0如何启动多个MySQL实例教程(mysql-5.7.21)

    2024-01-14 10:56:45
  • thinkphp学习笔记之多表查询

    2023-11-15 02:57:15
  • python异常处理之try finally不报错的原因

    2023-05-01 00:02:40
  • asp之家 网络编程 m.aspxhome.com