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); //
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]
javascript Object与Array用法的更多相关文章
- 【转】javascript Object使用Array的方法
原文: http://www.cnblogs.com/idche/archive/2012/03/17/2403894.html Array.prototype.push push向数组尾部添加一项并 ...
- 使用 JavaScript 实现名为 flatten(input) 的函数,可以将传入的 input 对象(Object 或者 Array)进行扁平化处理并返回结果
请使用 JavaScript 实现名为 flatten(input) 的函数,可以将传入的 input 对象(Object 或者 Array)进行扁平化处理并返回结果.具体效果如下: const in ...
- 实现一个函数clone,使JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制
实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number.String.Object.Array.Boolean)进行值复制. 1 /** 对象克隆 2 * 支持基本 ...
- 详解Javascript中的Array对象
基础介绍 创建数组 和Object对象一样,创建Array也有2种方式:构造函数.字面量法. 构造函数创建 使用构造函数的方式可以通过new关键字来声明,如下所示: 12 var arr = new ...
- javascript中 try catch用法
javascript中 try catch用法 投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2015-08-16我要评论 JS try catch语句一般在什么情况下使用?是必须使 ...
- Javascript Object.defineProperty()
转载声明: 本文标题:Javascript Object.defineProperty() 本文链接:http://www.zuojj.com/archives/994.html,转载请注明转自Ben ...
- (The application/json Media Type for JavaScript Object Notation (JSON))RFC4627-JSON格式定义
原文 http://laichendong.com/rfc4627-zh_cn/ 摘要 JavaScript Object Notation (JSON)是一个轻量级的,基于文本的,跨语言的数据交换 ...
- JavaScript中的Array.prototype.slice.call()方法学习
JavaScript中的Array.prototype.slice.call(arguments)能将有length属性的对象转换为数组(特别注意: 这个对象一定要有length属性). 但有一个例外 ...
- javascript类型系统之Array
原文:javascript类型系统之Array 目录 [1]数组创建 [2]数组操作 [3]继承的方法 [4]实例方法 数组转换 数组检测 栈和队列 排序方法 操作方法 位置方法 前面的话 数组是一组 ...
随机推荐
- 零基础学QT编程
吴迪.2010.1 北京航空航天大学出版社 Qt资源 CSDN QT http://bbs.csdn.net/forums/Qt/ QT编程网 http://www.qtbcw.com/ 编程论坛 ...
- hdu-1702-栈和队列
ACboy needs your help again! Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ( ...
- python之拷贝(深浅)
深浅拷贝 深浅拷贝分为两部分,一部分是数字和字符串另一部分是列表.元组.字典等其他数据类型. 数字和字符串 对于数字和字符串而言,赋值.浅拷贝和深拷贝无意义,因为他们的值永远都会指向同一个内存地址. ...
- mybatis-dao开发
学而时习之,不亦说乎! --<论语> 本文以前文“mybatis-入门”为基础,同时再次提醒最佳参考资料: http://www. ...
- Python入门笔记——(2)列表和元组
一.序列 python包含6种内建的序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.序列中每个元素被分配一个序号即索引,第一个索引为0,第二个为1,以此类推.也可以 ...
- PIE SDK打开Micaps数据
1. 功能简介 Micaps数据是气象信息处理和天气预报制作中的一种气象数据格式.其包含多种气象信息产品(地面常规气象观测数据产品.高空常规气象观测数据产品等),目前Micaps数据被Micaps软件 ...
- 获取window.location.href路径参数
GetQueryString(param) { //param为要获取的参数名 注:获取不到是为null var currentUrl = window.location.href; //获取当前链接 ...
- rewrite 功能
一, rewrite 地址重写与地址转发 区别: 1,地址转发后客户端浏览器地址栏中的地址时不会改变的;而地址重写的话客户端浏览器地址栏会改变为服务器确定的地址 2, 在一次地址转发过程中,只产生一次 ...
- kpw2使用心得
一:截屏 只需要同时按下对角线的两个点(比如左下角,右上角)就可以,图片可以通过数据线连接到电脑,在根目录下就可以查看截屏图片. 二:拖曳电子书pdf 可以通过数据线连接,找到kpw2的磁盘,将pdf ...
- git代码管理工具-SourceTree 使用介绍
一.SourceTree 简单说明 SourceTree 是git 代码管理的可视化工具,可省去操作命令行的一个图形化工具,下载地址:https://www.sourcetreeapp.com/ 二. ...