javascript Object与Array用法
引用类型:引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型的值是引用类型的一个实例。
一、Object
ECMAScript中的对象其实就是一组数据和功能的结合。
Object类型其实是所有它的实例的基础,换句话说,Object类型所有具有的任何属性和方法也同样存在于更具体的对象中。
constructor属性:该属性保存了用于创建当前对象的函数,即当前对象的构造函数,object类型的构造函数就是Object()
hasOwnProperty方法:用于检查给定的属性是否存在于当前对象的实例中,而不是实例的原型中
isPrototypeOf方法:用于检查对象object1(父)是否存在于另一个对象object2(子)的原型链中
toString()方法:返回对象的字符串表示
valueOf()方法:返回对象的字符串、数值或者布尔值的表示
两种创建方式:
var o = new Object()
var o = {
age : 22,
name : "小明"
}
操作方法:
增:o.sex = "男"; o.eat = function () {};
删:delete o.age;
改:o.age = 23;
查:o.name; o[name]; (用于变量)
引用: var other = o; other.age = 24; console.log(o.age) //24 o和other指向的是同一个对象。
原型:每个对象都连接到一个原型对象,并可以从中继承属性和方法。所有通过对象字面量创建的对象都连接到Object.prototype。
当我们尝试去获取某个对象的属性时,如果不能从该对象中获取到,那么js会试着向上从其原型对象中获取属性值,直到到达终点Object.prototype,如果也没找到那就是undifined。
原型连接在更新时是不起作用的。当我们对某个对象做出改变时,不会触及该对象的原型。
事例:
Object.prototype.sex = "男";
var o = {
age : 22
};
console.log(o); // {age : 22}
console.log(o.sex); o.sex //"男"
var result = o.hasOwnProperty("age"); //true
var result = o.hasOwnProperty("sex"); //false
二、Array
var arr = ["a","b","c","d","e"] js中的数组的每一项可以保存任何类型的数据;
操作方法:
var arr = ["a","b","c","d","e"];
1.转换方法
var result = arr.toString(); //"a,b,c,d,e"
var result = arr.join(); //"a,b,c,d,e" var result = arr.join(""); //"abcde" join默认是按","来分割的
2.栈方法
arr.push("f"); console.log(arr); //["a","b","c","d","e",f"]
arr.pop(); console.log(arr); //["a","b","c","d"]
3.队列方法
arr.unshift("f"); console.log(arr); //["f","a","b","c","d","e"]
arr.shift(); console.log(arr); //["b","c","d","e"]
4.位置方法
var result = arr.indexOf("a"); console.log(result); //0
5.操作方法
arr.splice(3,1); //删除 console.log(arr); //["a","b","c","e"]
arr.splice(3,1,"f"); //替换 console.log(arr); //["a","b","c","f","e"]
arr.splice(3,0,"f"); // 插入 console.log(arr); //["a","b","c","f","d","e"]
var result = arr.slice(2,4);//潜复制 console.log(result) //["c","d"]
6.排序方法
var arr1 = [5,9,3,4,6];
var result = arr1.reverse(); console.log(result); //[6,4,3,9,5]
var result = arr.sort(function(a,b){return a-b}); console.log(result); //[3,4,5,6,9]
7.合并方法
var arr1 = ["a","b"]; var arr2 = ["c","d"]; var result = arr1.concat(arr2); console.log(result); //["a","b","c","d"]
数组也是引用类型的,两个变量指向同一个数组:
var arr1 = arr; arr1.push(1); console.log(arr); //["a","b","c","d",1]
- Asp.net 2.0 WebPart使用经验点滴
- 使用LinqToExcel读取Excel
- 时代的需要:越来越多的Java工程师开始转向hadoop?
- 如何结合IbatisNet的LIST遍历实现模糊查询
- Flash/Flex学习笔记(41):碰撞检测
- [.NET网格计算框架] Alchemi
- 修改WordPress登陆文件名wp-login.php,防密码被暴力破解
- NDoc - .NET 代码文档生成器
- Mono P/Invoke :DLLImport
- MONO x64 amd_x64
- DN榜:最近3个域名成交金额均达到六位数美金
- 采访Philipp Crocoll:安卓平台上整合Java和C#
- “AS3.0高级动画编程”学习:第一章高级碰撞检测
- AI分析师PK人类分析师,结果竟然是……
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法