javascript学习笔记1-对象和数组

1.对象和数组

总述

对象和数组是JS里两种重要的数据类型,它们与普通的如字符串和数字等基本数据类型不同的是:它们不是表示单个值,而是表示值的集合。

对象是一组已命名的值的集合,而数组是一种特殊的对象,是一组数值的有序集合。

1.1创建对象

对象把多个数据值集合在一个单元中,并且允许用名字来存放和获取这些值。

对象定义一般如下:

Js代码

var empty = {}
var point = {x:0,y:0}
var home = {
  “name”:”liugx”,
  “age”:29,
  “married”:false
  “email”:”liugx@sina.com”
}

以上写法我们在程序里常常用到,比如把函数的参数作为一个obj来传递;比如定义一个obj,赋上属性后,做为一个集合来使用;比如在客户端js里new一个img的ojb,赋值给它属性,如left,top,等,再appendchild到document中来显示;如常常在服务端封装成一个json,再在前台里把返回的字符串eval成obj,再通过属性来得到具体的值。。。。

在程序里,我们也常常用var o = new Object()来定义一个对象,再给这个o赋上相应的属性。这里的Object()是一个构造函数,就像我们常常在js里做如下定义:

Js代码

function TrackRecordMgr(){}
TrackRecordMgr.prototype={
 doFun1:function(){
 },
 doFun2:function(){
 }
}

上面的TrackRecordMgr()就是我们自定义的构造函数,只是在写js时,我们常常忘记了面象对象的思想了。在js里内建的构造函数常用的还有:

Js代码

var a = new Array();
var d = new Date();
var r = new RegExp();

1.2对象属性

对象属性主要掌握以下几个:

1、对象的属性可以通过给它赋值的方法来创建。这点我们在程序里常常用到。创建了属性后就可以任意时刻改变属性的值。

2、对象属性分为标识符与字符串两种写法的区别,理解这两种各用在哪些方面,特别是字符串数组的写法。

用数组表示法来访问对象的属性是很灵活的,为什么这么说呢?看下面的代码:

Js代码

for(var i=0;i<5;i++){
 addresses = o[“addIndex”+i]+”,”
}

同时,我们在代码里常常把一个对象做为参数传递给另一个对象,另一个对象在需要遍历第一个对象的属性,把它加到自己身上。遍历的时候因为并无法知道第一个对象的所有属性名,所以只能通过数组写法来赋值:

Js代码

for(var name in obj1){
 if(obj1.name){
 ojb2[name] = obj1[name];
 }
}

时间: 2024-09-17 04:07:42

javascript学习笔记1-对象和数组的相关文章

Javascript学习笔记之 对象篇(四) : for in 循环_基础知识

先上范例: // Poisoning Object.prototype Object.prototype.bar = 1; var foo = {moo: 2}; for(var i in foo) { console.log(i); // prints both bar and moo } 这里我们要注意两点,一是 for in 循环会忽略 enumerable 设置为 false 的属性.例如一个数组的 length 属性.第二是,由于 for in 会遍历整个原型链,所以当原型链过长时,会

javascript学习笔记之对象函数变量作用域

一.对象 数组我们用[],对象我们用{} 创建对象: var obj = {属性名:属性值1,属性名:属性值2,属性名:属性值3}; var obj = {"name":"zhansan","age":22,"sex":'male'}; 对象单元值的引用 对象名.属性名 obj.name//使用方法 对象名[属性名] obj.['name']//这是类似数组的使用方法,不建议这么使用 对象如何遍历,遍历对象不能用obj.key

Javascript 学习笔记之 对象篇(二) : 原型对象_基础知识

Javascript 是唯一一个被广泛运用的原型式继承的语言,所以理解两种继承方式的差异是需要时间的. 第一个主要差异就是 Javascript 使用原型链来继承: function Foo() { this.value = 42; } Foo.prototype = { method: function() {} }; function Bar() {} 设置 Bar 的 prototype 为 Foo 的对象实例: Bar.prototype = new Foo(); Bar.prototy

Javascript学习笔记之 对象篇(一) : 对象的使用和属性_基础知识

false.toString(); // 'false' [1, 2, 3].toString(); // '1,2,3' function Foo(){} Foo.bar = 1; Foo.bar; // 1 一个经常容易被误解的就是数字常量不能视为对象,实际上数字常量仍然可以视为对象.这是因为 Javascript 解析器在解析点操作符时而将其视为浮点数特征而犯下的错误. 2.toString(); // raises SyntaxError 实际上,我们有很多方法可以使得数字常量表现为一个

JavaScript学习笔记之取数组中最大值和最小值_javascript技巧

推荐阅读:JavaScript学习笔记之数组的增.删.改.查 JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组随机排序 在实际业务中有的时候要取出数组中的最大值或最小值.但在数组中并没有提供arr.max()和arr.min()这样的方法.那么是不是可以通过别的方式实现类似这样的方法呢?那么今天我们就来整理取出数组中最大值和最小值的一些方法. 取数组中最大值 可以先把思路理一下: 将数组中第一个元素赋值给一个变量,并且把这个变量作为最大值: 开始遍历数组,从第二个元

JavaScript学习笔记之ES6数组方法_javascript技巧

ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了).上一次标准的制订还是2009年出台的ES5.目前ES6的标准化工作正在进行中,预计会在14年12月份放出正式敲定的版本.但大部分标准已经就绪,且各浏览器对ES6的支持也正在实现中. ES6给数组添加了一些新特性,而这些新特性到目前为止完全可以运用到自己的业务层.在这一节中将总结有关于ES6给数组提供一些新特性的使用方法. ES6提供

JavaScript学习笔记之数组去重_javascript技巧

推荐阅读:JavaScript学习笔记之数组的增.删.改.查 JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组随机排序 话说面试常会碰到面试官会问JavaScript实现数组去重的问题,最近刚好在学习有关于JavaScript数组相关的知识,趁此机会整理了一些有关于JavaScript数组去重的方法. 下面这些数组去重的方法是自己收集和整理的,如有不对希望指正文中不对之处. 双重循环去重 这个方法使用了两个for循环做遍历.整个思路是: 构建一个空数组用来存放去重后

JavaScript学习笔记之数组的增、删、改、查_javascript技巧

在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活.强大,不像是Java等强类型高级语言数组只能存放同一类型或其子类型元素,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改. 数组是JavaScript中常见的一个对象,它有一些经典的操作,比如数组的增.删.改.查.在这篇文章中主要整理这方面的相关操作方法. 增

JavaScript学习笔记之数组随机排序_javascript技巧

推荐阅读:JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组的增.删.改.查 JavaScript中提供了sort()和reverse()方法对数组项重新排序.但很多时候这两个方法无法满足我们实际业务的需求,比如说扑克牌游戏中的随机洗牌. 在这篇文章一起来学习如何完成上面这个示例的效果,以及一些有关于数组随机排序的相关知识. 在网上查了一下有关于数组随机排序的相关资料,都看到了Math.random()的身影.打开浏览器控制器,输入: Math.random() 从图