Javascript基础学习(3)_对象和数组
一、对象是一种无序的属性集合,每个属性都有自己的名字和值。
1.创建对象
花括号内逗号分隔
var person = {
"Name" : "LiCheng",
"Age" : 25
}
2.对象属性
①用对象名.属性名的方式来访问
②属性的枚举,利用for/in循环可以遍历一个对象的所有属性
③检查属性的存在性,利用in运算符可以查看一个属性是否属性一个对象
④删除属性,利用delete运算符可以删除属性,例如 delete person.Name
⑤作为关联数组的对象
属性的另一种访问方式,通过 对象名["属性名"] 这样的方式来访问
3.共通的Object属性和方法。
①constructor属性
它引用了初始化这个对象的构造函数。
例如:
var d = new Date();
d.constructor == Date; //True
通过它可以对一个对象的类型进行判断。
②toString()方法
③toLocaleString()方法
④hasOwnProperty()方法:如果对象的属性不是继承的属性,那么就会返回true
⑤propertyIsEnumerable()方法:对象的属性不是继承的属性,在for/in循环当中可以进行枚举,就返回true
⑥isPrototypeOf()方法:如果isPrototypeOf()方法所属的对象是参数的原型对象,那么,该方法就返回true。否则就返回false。
var o = {};
Object.prototype.isPrototypeOf(o); //true 因为o.constructor == Object
二、数组
数组的方法:
①join()方法
把一个数组的所有元素转换成字符串,然后再把它们连接起来。
②reverse()
将数组元素进行颠倒然后返回
③sort()
在原数组上进行排序,返回排序后的数组
④concat()方法
创建一个数组,包含调用这个方法的数组的所有元素,如果这个函数的参数中有数组,会被展开,但是不会被递归的展开。
例如:
var a = [1,2,3];
a.concat([4,5]);//结果是[1,2,3,4,5]
⑤slice()方法
返回数组的一个片段,子数组,两个参数可以指定开始位置和结束位置,参数可以使负数,负数表示从尾部开始计算的位置。
⑥splice()方法
用途是插入或者删除数组的元素,和delete运算不一样的地方,在于delete只会吧删除的数组元素的位置设置为undefined,并不会进行删除后的节点移动。
Splice()方法会进行数组元素删除后节点的必要移动。Splice()返回的是删除了元素的数组,如果没删除任何元素,将返回一个空数组。和concat()方法不同的是,splice()方法并不会把数组元素进行展开
例如:
var a = [1,2,3];
a.splice(3,1,[4,5]);//结果是[1,2,3,[4,5]]
⑦push()和pop()方法
像栈结构一样进行数组元素的压入和排出
⑧unshift()和shift()方法
与push()和pop()方法类似,但是不同的是它们是在数组的头部进行操作,而且可以一次插入很多个元素,元素的插入是一次性插入的。也就是说插入的各元素相对位置没有变化
Javascript基础学习(3)_对象和数组的更多相关文章
- Javascript基础学习(2)_表达式和运算符
1.==和===的区别(!=和!==是相反的比较) 它们采用了同一性的两个不同定义.==是相等性,===是等同性. ①“===”进行两个值的比较 两个值的类型不同,就不相等 两个值是数字,并且值相同, ...
- Javascript基础学习(1)_类型、值和变量
1.null和undefined ①概念上区别: null是一个特殊的对象,是“非对象”,使用typeof后是object对象 undefined用未定义的值表示更深层次的“空值”,它是变量的一种取值 ...
- JavaScript 基础学习1-day14
JavaScript 基础学习1 知识预览JavaScript概述二 JavaScript的基础三 JavaScript的对象BOM对象DOM对象实例练习js扩展 JavaScript概述 JavaS ...
- 48.javascript基础学习
javascript基础学习: http://www.w3school.com.cn/jsref/index.asp jS的引入方式: 1.行间事件:为某一个具体的元素标签赋予js内容,oncli ...
- JavaScript 基础 学习 (一)
JavaScript 基础 学习 获取页面中的元素的方法 作用:通过各种方式获取页面中的元素 比如:id,类名,标签名,选择器 的方式来获取元素 伪数组: 长的和数组差不多,也是按照索引排 ...
- JavaScript 基础 学习 (四)
JavaScript 基础 学习 (四) 解绑事件 dom级 事件解绑 元素.on事件类型 = null 因为赋值的关系,所以给事件赋值为 null 的时候 事件触发的时候,就没有事件处理 ...
- JavaScript 基础 学习(三)
JavaScript 基础 学习(三) 事件三要素 1.事件源: 绑定在谁身上的事件(和谁约定好) 2.事件类型: 绑定一个什么事件 3.事件处理函数: 当行为发生的时候,要执行哪一个函数 ...
- JavaScript 基础 学习 (二)
JavaScript 基础 学习 节点属性 每一个节点都有自己的特点 这个节点属性就记录着属于自己节点的特点 1. nodeType(以一个数字来表示这个节点类型) 语法:节点.nodeT ...
- JavaScript 基础学习(二)js 和 html 的结合方式
第一种 使用一个标签 <script type="text/javascript"> js代码; </script> 第二种 使用 script 标签,引入 ...
随机推荐
- bzoj1487
还是仙人掌,和1023一样的考虑方法比1023简单但比1040难环形dp的处理方法和1040一样 type node=record po,next:longint; end; ..,..] of lo ...
- POJ_3685_Matrix_(二分,查找第k大的值)
描述 http://poj.org/problem?id=3685 一个n*n的矩阵,(i,j)的值为i*i+100000*i+j*j-100000*j+i*j,求第m小的值. Matrix Time ...
- Windows 8/8.1系统下硬盘占用率100%的问题解决思路汇总
家庭组 2.关闭虚拟内存 3.关闭Windows 8快速开机功能 4.服务进程superfetch 5.系统下软件排除 操作步骤: 1.Windows 8系统的家庭组方便多人不用存储设备就能在局域网中 ...
- HDJ -- 1022
#include<iostream> #include<cstdio> #include<string> #define MAXN 10 using namespa ...
- 很反感Java Web 三层框架
为什么反感,大家 看图就知道了.一层一层的框架叠加,要达到精通就要一个一个框架的去深入了解,谁有这个精力?PHP没有这么多框架,为何依然能开发大型网站呢? 不过此图的原文却在推销使用Java,原文点此 ...
- C# 关键字 default
在泛型类和泛型方法中产生的一个问题是,在预先未知以下情况时,如何将默认值分配给参数化类型 T: T 是引用类型还是值类型. 如果 T 为值类型,则它是数值还是结构 http://msdn.micros ...
- container_of宏剖析
container_of宏剖析//该宏位于include/linux/kernel.h 1.定义格式 /** * container_of - cast a member of a structure ...
- 《Linear Algebra and Its Applications》-chaper1-线性方程组- 线性变换
两个定理非常的简单显然,似乎是在证明矩阵代数中的基本运算律.但是它为后面用“线性变换”理解矩阵-向量积Ax奠定了理论基础. 结合之前我们讨论过的矩阵和向量的积Ax的性质,下面我们就可以引入线性变换了. ...
- Ruby on Rails Session 1: How to Build a Ruby on Rails on the Ubuntu.
About Ruby on Rails Ruby on Rails is an application stack that provides developers with a framework ...
- 广州Uber优步司机奖励政策(2月1日~2月7日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...