1. 引用类型

1.1 Object类型

创建Object类型有两种方式:

  1. 使用new操作符后跟Object构造函数

var person =new Object();

  1. 字符量表示法

var person = {

name:’chuck’

}

1.2 Array类型

1.2.1 创建方式

  1. 使用Array构造函数

var colors = new Array();

  1. 字符量表示法

var colors = [];

var names= [‘a’,’b’,’c’];

1.2.2 检测数组

使用 Array.isArray(value)来检测数组,true表示数组

1.2.3 转换方法

toLocaleString():分别调用每一项的toLocaleString()方法,并以逗号分隔

toString():分别调用每一项的toString()方法,并以逗号分隔

valueOf():返回数组本身

1.2.4 栈方法

栈是一种后进先出的数据结构,最新添加的项被移除

使用push()方法添加最后一项

使用pop()方法返回并移除最后一项

1.2.5 队列方法

队列是一种先进先出的数据结构,最先添加的项被移除

使用push()方法添加最后一项

使用shift()方法返回并移除第一项

同事还存在unshift()方法,在数组第一项添加数据

1.2.6 重排序方法

  1. reverse()方法

反转数组的顺序

  1. sort()方法

对数组进行排序,默认按照字符串进行排序,同事接受一个方法作为排序比较方法

1.2.7 操作方法

(1). concat方法

连接数组的方法,多个数据类型组合在一起返回

(2). splice方法

splice(index,removeCount,value1,value2,…)

index:表示要操作的索引

removeCount:表示index索引开始删除的个数,0表示不删除

value1,2…:表示删除后插入的值

1.2.8 位置方法

indexOf:方法从头开始查询

lastIndexOf:方法从最后一位开始查找

1.2.9 迭代方法

l every:对数组中的每一项运行给定函数,每一项均放回true则返回true

l filter:对数组中的每一项运行给定函数,返回该函数返回true时的项组成数组

l forEach:对数组中每一项运行给定函数,该函数没有返回值

l map:对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组

l some:对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true

var nums = [1,2,3,4,5];

nums.every(function (item,index,array) {

// body...

});

nums.filter(function (item,index,array) {

// body...

});

nums.forEach(function (item,index,array) {

// body...

});

nums.map(function (item,index,array) {

// body...

});

nums.some(function (item,index,array) {

// body...

});

1.2.10 并归方法

reduce和reduceRight方法,迭代每一项最后方法迭代后的结果,reduce从第一项开始,reduceRight从最后一项开始

var nums = [1,2,3,4,5];

nums.reduce(function(prex,cur,index,array){

//body ...

})

1.3 Date类型

使用Date构造函数进行创建

var date = new Date();

使用Date.parse()进行格式化

1.4 RegExp类型

1.4.1 创建

var expression = /pattern/flags

flags支持下列3个表示:

g:全局模式

i:不区分大小写

m:多行模式

1.4.2 使用

l exec():返回一个数组,并包含额外的两个属性,index和input

index表示匹配项在字符串的位置,input表示要逼匹配的字符串,数组返回字符串中所有匹配的字符串的集合,在设置全局模式的情况下,每次匹配字符串都会在字符串中查询新匹配项,没有设置的全局模式每次匹配都返回同一匹配项

l test():接受一个字符串参数,表示十分符合匹配模式

1.5 Function类型

1.5.1 没有重载

所有的函数均是Function类型的实例,“函数是对象,函数名是指针”

1.5.2 函数内部属性

l arguments

arguments主要用途是保存函数参数,还有一个callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数

l this

指向当前函数的执行环境

l caller

表示调用这个函数的对象的指针

1.5.3 函数属性和方法

每个函数都存在两个属性length和prototype

l length:表示函数参数的个数

l prototype:保存所有实例方法的真正所在

l apply:函数接受两个参数,一个是运行函数的作用域,另一个是参数数组

l call:作用相同,只是接受参数不同,第一个参数没有变化,变化的是其余参数必须直接传递给函数

1.6 基本包装类型

Boolean,Number和String对象,尽量不要使用包装对象

1.7 单体内置类型

1.7.1 Global对象

l URI编码方法

encodeURI:不会对本身属于URI的特殊字符进行编码,例如冒号,正斜杠,问号和井字号进行编码

encodeURIComponent:对所有的字符串任何非标准字符编码

decodeURI:对encodeURI解码

decodeURIComponent:对encodeURIComponent解码

l eval方法

执行一段js代码

l Global对象属性

包含一些属性,undefined,NaN等属性信息

l window对象

全局变量中的对象作物window对象的一部分实现的

1.7.2 Math对象

l 属性

Math.E 自然对数的底

Math.PI 圆周率等

l min,max

min求最小值

max求最大值

l 舍入方法

Math.ceil:向上舍入为最接近的整数

Math.floor:向下舍入为最接近的整数

Math.round:标准四舍五入

l random方法

返回大于等于0并小于1的随机数

1-10之间的数:var num = Math.floor(Math.random()*10+1)

l 其他方法

简单或者复杂的计算相关的方法

Math.abs()求绝对值等方法

5. javacript高级程序设计-引用类型的更多相关文章

  1. Javascript高级程序设计——引用类型

    对象在javascript中被称为引用类型的值,而且有一些内置的引用类型可以创建特定的对象: 引用类型与传统面向对象中的程序设计的类相似,但实现不同: Object是一个基础类型,其他所有类型都从Ob ...

  2. 6. javacript高级程序设计-面向对象设计

    1. 面向对象设计 1.1 理解对象 1.1.1 属性类型 (1). 数据属性:相当于对象的字段,包含一个数据值的位置,在这个位置可以读取和写入值.数据属性中有4个描述其行为的特性: l [[Conf ...

  3. 4. javacript高级程序设计-变量、作用域和内存问题

    1.1 基本类型和引用类型的值 变量包含两种不同数据类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据段,引用类型值可以由多个值构成的对象 1.1.1 动态的属性 针对引用对象的值,可以为其 ...

  4. 25. javacript高级程序设计-新兴的API

    1. 新兴的API requestAnimationFrame():是一个着眼于优化js动画的api,能够在动画运行期间发出信号.通过这种机制,浏览器就能够自动优化屏幕重绘操作 Page Visibi ...

  5. 24. javacript高级程序设计-最佳实践

    1. 最佳实践 l 来自其他语言的代码约定可以用于决定何时进行注释,以及如何进行缩进,不过JavaScript需要针对其松散类型的性质创造一些特殊的约定 l javascript应该定义行为,html ...

  6. 23. javacript高级程序设计-数据存储

    1. 数据存储 1.1 cookie HTTP Cookie, cookie,最初用来在客户端存储回话信息. (1). 限制,不同浏览器对特定域名下的cookie 的个数有限制,每个域名下最好不要操过 ...

  7. 22. javacript高级程序设计-高级技巧

    1. 高级技巧 1.1 函数 l 可以使用惰性载入函数,将任何分支推迟到第一个调用函数的时候 l 函数绑定可以让你创建始终在指定环境中运行的函数,同时函数柯里化可以让你创建已经填写了某些参数的函数 l ...

  8. 21. javacript高级程序设计-Ajax与Comet

    1. Ajax与Comet 1.1 XMLHttpRequest对象 IE5是第一款引入XHR对象的浏览器,IE5中是通过MSXML库中的一个ActiveX对象实现的.因此在IE中可能存在MSXML2 ...

  9. 20. javacript高级程序设计-JSON

    1. JSON JSON是一种数据格式,存在以下三种类型的值: l 简单值:使用与JavaScript相同的语法,可以在JSON中表示字符串.数值.布尔值和null,不支持 undefined,例如: ...

随机推荐

  1. 【11-01】Sublime text 学习笔记

    >>>快捷键 CTRL+P ->根据文件名打开文件 “# 标识”“:行号” Ctrl+Shift+P -> 打开Package Control Ctrl+R ->查 ...

  2. 数字格式化函数:Highcharts.numberFormat()

    (转)数字格式化函数:Highcharts.numberFormat() 一.函数说明 该函数用于图表中数值的格式化,常见用途有数值精度控制.小数点符.千位符显示控制等.   二.函数使用   1.函 ...

  3. seajs的那点事(很坑的事),和本白的一点事(更坑的事)

    在开始之前,偶先吐槽加逗比一下,2天前,CCAV的本白和百度的菊花成功潜入到了携程大楼 然后在没有找到他们运维的情况下,四处乱逛,企图把他们的服务器给root一下,然后再瞎逛之后到了一个很神奇的地方 ...

  4. 由json字符串生成C#实体类的工具

    json作为互联网上轻量便捷的数据传输格式,越来越受到重视.但在服务器端编程过程中,我们常常希望能通过智能提示来提高编码效率.JSON C# Class Generator 能将json格式所表示的J ...

  5. 摄像头/光驱故障:由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备。 (代码 19)

    原因:出现这条提示一般都是因为注册表错误引起的,重装驱动或应用程序无法解决. 设备管理器中相关设备-故障如图: 以下方法可以解决问题: 1.在任务栏上点“开始”菜单-“运行”,输入”regedit“ ...

  6. jquery datagrid加载后仅选定第一行

    function onLoadSuccess(data) { var rows = $("#DataGrid").datagrid("getRows"); if ...

  7. [Kerberos] How to Kerberize an Hadoop Cluster

    Overview Kerberos是一个第三方认证机制,用户和服务(known as principals)通过kerberos server (known as the Key Distributi ...

  8. 【PHP面向对象(OOP)编程入门教程】4.如何抽象出一个类?

    上面已经介绍过了, 面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,所以我们首先要做的就是如何来声明类, 做出来一个类很容易,只要掌握基本的程序语法定义规则就可以做的出来,那么难点在那里呢 ...

  9. centos安装

    转:http://www.cnblogs.com/Johness/archive/2012/12/03/2800126.html 在已经安装了Win7的系统下安装CentOS 注意:1.由于涉及到对硬 ...

  10. CSS伪选择器的使用-遁地龙卷风

    分为伪元素选择器和伪类选择器两种,前者两个冒号,后者一个冒号,但是浏览器都看做一个冒号 1.a.::first-line 逐层匹配,直到有文本元素且结束改行为止 设置css属性word-break:b ...