引用类型

引用类型是一种数据结构,不同于类

Object类型

创建方法有两种:

  1. 使用new操作符后跟Object构造函数
    var person=new Object(); person.name="tom"; person.age=29;
  2. 对象字面法表示(属性名也可以使用字符串)
    var person={ name:"tom", age:29 };
    因为age是最后一个属性,所以在后面不能加逗号。
  • 在js中也可以使用方括号来访问对象的属性。方括号可以通过变量来访问属性。
    alert(person["name"]);

Array类型

ECMAScript数组的每一项可以保存任何类型的数据,数组的大小是可以动态调整的,即可以苏浙数据的添加自动增长容纳新的数据。
创建方法有两种:
1 使用Array构造函数
var colors=new Array();
var colors=new Array(20);
var colors=new Array("red","blue");
2 使用数组字面量表示法
var color=["red","blue"];
var color=[]; //创建一个空数组
在读取和设置数组的值时,要使用方括号并提供响应值的基于0的数字索引
var color=["red","blue"]; alert(color.length); alert(color[0]); color[2]="black";//增加一项 color[0]="green";//修改

检测数组

出现了某个对象是不是数组的经典问题
if(value instanceof Array){ }
最终确定某个值到底是不是数组
if(Array.isArray(value)){ }

转换方法

所有对象都有toLocaleString(),toString(),valueOf()方法
调用toString()会返回由数组中每个值的字符串形式拼接成的一个以逗号分隔得字符串
调用valueOf()返回的还是数组
join方法使用不同的分隔符构建这个字符串
alert(colors.join("||"));//red||blue||green

栈方法

栈的插入和弹出只在顶端发生,类似栈得行为pop()和push()
push()可以接收任意数量的参数,把他们逐个添加到数组末尾,并返回修改后数组的长度;
pop()从数组末尾移除最后一项,减少数组的length,然后返回移除的项
var colors=new Array(); var count=colors.push("red"); alert(count);//1 count=colors.push("green"); alert(count);//2 var item=colors.pop(); alert(item)//"green"

队列方法

队列在列表的末尾添加项push(),从列表的前端移除第一项shift(),返回项,在前端添加项unshift()返回新数组的长度
类似于栈方法。

重排序方法

reverse()降序排列

比较的是数值

sort()升序排列

会调用toString()转型方法,然后比较得到的字符串,即使是数值,比较的也是字符串。

给一组数值按照升序排序的方法
function compare(value1,value2){ if(value1<value2) return -1; else if(value1>value2) return 1; else retuen 0; }
function compare(value1,value2){ return value2-value1; }
var values=[0,1,4,3,2]; values.sort(compare); alert(values);//0,1,2,3,4

操作方法

concat()可以基于当前数组的所有项创建一个新的数组。
slice()
只有一个参数,会返回从该位置开始到末位置的所有项 。
有两个参数的话,返回从开始位置到结束位置,但不包括结束位置。
如果有一个参数是负数,加上数组长度来确定位置。
splice( )
删除:只需两个参数,删除的第一项位置和要删除的项数。
插入:提供三个参数,起始位置,0(要删除的项数),要插入的项。
替换:三个参数,起始位置,要删除的项数,要插入的任意数量的项。

位置方法

indexOf()从数组的开头位置0开始向后查找
lastIndexOf( )从数组的末尾开始向前查找
两个函数都返回查找的项在数组中的位置。

迭代方法

every()等等

归并方法

reduce()
reduceRight()

Date类型

创建一个日期对象
var now=new Date();
Date.parse();
Date.UTC();
var sometime=new Date(Date.parse("May 25,2017"));
var sometime=new Date("May 25,2004/5/25/2004");
var sometime=new Date(Date.UTC(2005,4 5 17,55,55));

RegExp类型

来支持正则表达式
g:表示全局模式,即模式被应用于所有字符串,而非在发现第一个匹配项时立即停止
i:表示不区分大小写,确定匹配时忽视大小写
m:表示多行模式
/*匹配字符串中所有at的实例*/ var patten1=/at/g; /*匹配第一个“bat”或者“cat”,不区分大小写*、 var patten2=/[bc]at/i;

正则表达式的元字符
([ { \ ^ $ | ) ? * + . }

Function类型

没有重载

函数内部属性

在函数内部有两个特殊的对象:arguments和this

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容