`

javascript object

 
阅读更多
1、从array 到 object
数组都会有一个索引,从0 开始,以1为单位递增。这个在前面已经知道了,如:
>>> var myarr = ['red', 'blue', 'yello', 'purple']
>>> myarr[0]
'red'
.....

可以把它看成一张表,只有两列,多行的表,第一列看作key,第二列就是value,可以把它看成一个key/value的结果只不过这个key是正整数。
一个object 也近视于一个数组,不同之处就在于key你可以自己定义,不会在限制与正整数,让我们来看一个简单的object:
var hero = {breed:'Turtle',occupation:'Ninja'};

可以看出有以下几点:
object 变量的name :hero
定义一个数组你用的是[]对象你用的是{}
用逗号去分割他们的属性,
用冒号来作为key/value的结果
属性的名字可以在引号里下面的都是正确的
var o = {prop:1}
var o = {"prop":1}
var o = {'prop':1}
建议属性不使用引号,可以减少拼写,有些特殊的地方你的使用引号:
****
*如属性的名字是javascript的保留字
×或者是他包含一些特殊字符。

var o = {
something: 1,
'yes or no': 'yes',
'!@#$%^&*': true
};
Object 是所有javascript object 的父对象。意味着你创建的每一个对象都继承它。可以通过两种方式创建一个新的空对象,如:var o = {}; 或者
var o = new Object();
一个空对象并不是全然无效的因为一它已经包含了一些方法和属性
o.constructor return 一个constructor方法
o.toString() return 一个对object 陈述的string
o.valueOf() return 一个单值化的value,经常是他自己。

我们来看一下object 的行为,
>>>o.toString()
"[object Object]"
toString() 将是在他们内部被唤起,object 会被转换成一个string 使用。如: alert(o);和 alert(o.toString());是同样的效果。
如果我们试图输出一个object 和string 进行连接,则会调用toString()
valueOf() 是object 的提供的另一个方法,是一个简单object的onstrutor 所以return 的将是自己的对象
>>> o.valueOf() === o
true

概述:
. 可以创建一个对象 var o = {}; var  o = new Object();
.不管怎么符合,都是从Object继承过来的。因此也有相应的的属性方法和构造
/****
*Array
***/
Array()内建了一个function ,你可以使用constructor 来创建一个Array
>>>var a = new Array();

>>> var a = [];
是一样的。
不管你怎么创建一个Array,你都可以给它添加元素,如:
>>>a[0] = 1; a[1] = 2; a;
[1, 2]
当你使用Array()的constructor,如果你传递value 给它,那么他将会将这些value 分配给这个array's elements
>>>var a = new Array(1, 2, 3, 'four');

当你传递一个数字给Array时,它将认为,这个数字是这个数组的长度如:
var a2 = new Array(5);
a2[0] = 1;
a2
[1, undefined, undefined, undefined, undefined]
因为数组中是带着一个constructor所以说数组也算是一个object 通过typeof a2 会得到一个“object”因为数组是object 所以数组也就继承了object 的属性和
方法,
a2.toString()
[1, undefined, undefined, undefined, undefined]
>>>a.constructor
Array()

Arrays 是 object 但是他是一个特殊类型,因为:
*它属性的名称是自动以0开始命名的
*有一个length 属性,包含数组内元素的个数
*有一个add的添加方法继承自Object
检查一下object 和 array 的不同:

>>>var a = [], o = {};
一个数组object 一般会自动创建一个length属性,可以通过点来调用。
>>>a.length
0
>>>typeof o.length
给他们添加一个非数字和数字的属性都是成功的。
>>>a[0] = 1; o[0] =1;
>>>a.prop = 2; o.prop = 2;
a的属性length 总是最新的,他总是忽略掉非数字的属性。
>>>a.length
1
这个length也是可以被设置的,那么比这个length 小的元素的都是空的,将被设置为undefined
>>>a.length
5
>>>a
[1, undefined,undefined, undefined, undefined]
设置比length 到小的数字,将会移除掉多余的element;
>>>a.length = 2
2
>>>a
[1,length]
/**
×数组也是有一些有趣的方法
**/
数组的添加是继承自object, 数组也有其他有趣的方法,如:sort(), join(), slice()....

var a = [3,5,7,'test'];
push 往数组的最后添加一个元素
>>>a.push('new');
>>>a
[3,5,7,'test','new']
pop()去掉数组的最后一个元素。
>>>a.pop();
>>>a
[3,5,6,'test']

sort()对数组进行排序,然后会return 一个数组。
join()返回一个字符串,包含数组的所有元素,连接着传入的string
a.join('is not')
"3 is not 5 is not 6 is not test"

slice()从原数组中截取一个片段返回。[)区间截取
>>>a.slice(1,3)
[5,7]

/***
*function
**/
我们知道function 是一个特殊的数据类型,它也是一个Object所以它内部有一个构造 Function(),可以通过构造去定义函数,但是不推荐.
>>> function sum(a, b ){ return a+b;}
>>> var sum = function (a, b) {return a + b;};
>>> var sum = new Function(a,b,'return a + b');

>>> var first = new Function('a, b, c, d', 'return arguments;');
>>> first(1,2,3,4);

分享到:
评论

相关推荐

    JSON(JavaScript Object Notation)

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立...

    Javascript Object Browser 扩展

    JavaScript Object Browser扩展是一种针对开发人员的实用工具,它专门设计用于可视化和探索JavaScript对象的结构。这个扩展在浏览器环境中提供了一个交互式的界面,允许开发者深入理解代码中的对象、属性和方法,...

    JavaScript Object toString 初始补充

    这篇名为“JavaScript Object toString 初始补充”的博客文章可能深入探讨了`toString`方法在JavaScript中的应用和一些不常见的用法。作者Will-2011在iteye.com上分享了这个话题,这通常意味着这篇文章会包含代码...

    Mastering JavaScript Object-Oriented Programming

    Mastering JavaScript Object-Oriented Programming 2016 | ISBN: 1785889109 | English | 287 pages | PDF | 1.9 MB With this book, we'll provide you with a comprehensive overview of OOP principles in ...

    JSON (JavaScript Object Notation).zip

    JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式。它采用完全独立于语言的文本格式,同时也被广泛用于非JavaScript环境。JSON的设计目标是简洁和易于阅读及编写,同时也易于机器解析和生成。它是...

    JavaScript Object Programming 无水印pdf

    JavaScript Object Programming 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传...

    Javascript Object Oriented Programming 无水印pdf

    Javascript Object Oriented Programming 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请...

    JSON使用指南JSON 即 JavaScript Object Natation

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,设计用于高效地传输和存储数据,尤其适合服务器与JavaScript之间的交互。它的语法简洁且易于人类阅读和编写,同时也容易让机器解析和生成。JSON格式...

    那位大哥有javascript object 大全

    那位大哥有javascript object 大全

    JavaScript Object JSON

    JavaScript Object和JSON是Web开发中两个非常重要的概念,它们在数据交换和存储中扮演着关键角色。这篇博客将深入探讨这两个主题,以及它们之间的关系。 首先,JavaScript Object(JS对象)是JavaScript语言中的...

    JavaScript Object Programming(Apress,2015)

    This brief book explains the advantages of the object model, inheritance, both classical and prototypical, and shows how these concepts can be implemented in JavaScript. It also shows how object ...

    Mastering JavaScript Object-Oriented Programming 无水印pdf

    Mastering JavaScript Object-Oriented Programming 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如...

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式

    Javascript.Object.Oriented.Programming.pdf

    Build sophisticated web applications by mastering the art of Object-Oriented Javascript About This Book Learn popular Object-Oriented programming (OOP) principles and design patterns to build robust ...

    javascript Object与Function使用.docx

    ### JavaScript中的Object与Function #### 一、引言 随着JavaScript的发展与标准化,这门语言已经成为Web开发领域不可或缺的一部分。然而,在深入学习JavaScript的过程中,不少开发者对于语言内部的一些概念仍感...

    JavaScript Object toString 初始

    首先,`toString`方法是所有JavaScript对象的原型`Object.prototype`上的一个方法。这意味着,无论你创建何种类型的对象,它们都继承了这个方法。默认情况下,如果直接对一个对象调用`toString`,它会返回一个表示该...

    Javascript Object 对象学习笔记

    在这份“Javascript Object 对象学习笔记”中,将深入探讨JavaScript对象的基础知识、属性和方法。首先,我们需要明白什么是对象。在JavaScript中,对象是一种复合数据类型,它将许多值(原始值或其他对象)聚合在...

Global site tag (gtag.js) - Google Analytics