引用类

引用类型的只是引用类型的一个实例,在ecmascript当中,引用类型是一种数据结构用于将数据和功能组织在一起,也常被称做类。

object类型

构造函数[var o = new object()]和对象字面量[var o = {}];

Array类型

ECMAScript数组的每一项可以保存任何数据类型的数据。Array构造函数[var a = new Array()]和[var a = []]

利用length属性可以方便给数组末尾添加新项

1.检测数组

[if(value instanceof Array){}] 和 [if(Array.isArray(value)){}](ie9+)

2.转换方法

toString(),valueOf(),toLocaleString()
```
var colors = ['red', 'blue', 'green'];
console.log(colors.toString());
console.log(colors.valueOf());
console.log(colors);
//red,blue,green
//[ 'red', 'blue', 'green' ]
//[ 'red', 'blue', 'green' ]
```

join()

方法重现了toString()方法的输出。
```
var colors = ['red', 'blue', 'green'];
console.log(colors.join(','));
console.log(colors.join('||'));
```

3.栈方法(FIFO先进先出)push()加入数组最后个,pop()取出数组最后个

```
var colors = ['red', 'blue', 'green'];
var count = colors.push('black');

console.log(count);

console.log(colors);

var item = colors.pop();

console.log(item);

console.log(colors);

<h4>4.队列方法(LIFO后进先出)push(),shift()【unshift()】</h4>

<h4>5.重排序方法reverse()反转数组项的顺序,sort()</h4>

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

values.reverse();

console.log(values);//[ 5, 4, 3, 2, 1 ]

values.sort();

console.log(values);//[ 1, 12, 14, 3, 5 ]

function compare(value1,value2){

if(value1<value2){

return 1;

}else if (value1>value2) {

return -1;

}else{

return 0;

}

}

var values = [1,12,3,14,5];

values.sort(compare);

console.log(values);//[ 14, 12, 5, 3, 1 ]


<h4>6.操作方法</h4>
concat()可以基于当前数组中的所有项创建一个新数组。

var colors = ["red","green","blue"];

var colors2 = colors.concat("yellow",["black","pink"]);

console.log(colors);

console.log(colors2);

//[ 'red', 'green', 'blue' ]

//[ 'red', 'green', 'blue', 'yellow', 'black', 'pink' ]

slice()能够基于当前数组中的一个或者多个项创建一个新数组。可以接受一个参数或者多个参数 (起始和结束位置之间不包括结束位置)

var colors = ["red","green","blue","black","pink"];

var colors2 = colors.slice(1);

var colors3 = colors.slice(1,4);

console.log(colors2);

console.log(colors3);

// [ 'green', 'blue', 'black', 'pink' ]

// [ 'green', 'blue', 'black' ]

splice()算是比较强大的数组方法
(1)删除:删除任意数量的项,要删除第一项的位置,和要删除的数量
(2) 插入:第3个参数要插入的项
(3)替换:先删除再插入

var colors = ["red","green","blue","black","pink"];

var removed = colors.splice(0,1);

console.log(colors);

console.log(removed);

// [ 'green', 'blue', 'black', 'pink' ]

// [ 'red' ]

removed = colors.splice(1,0,"yellow","orange");

console.log(colors);

console.log(removed);

// [ 'green', 'yellow', 'orange', 'blue', 'black', 'pink' ]

// []

removed = colors.splice(1,1,"purple");

console.log(colors);

console.log(removed);

// [ 'green', 'purple', 'orange', 'blue', 'black', 'pink' ]

// [ 'yellow' ]

<h4>7.位置方法:indexOf()和lastIndexOf()</h4>

<h4>8.迭代方法,some every filter forEach map</h4>

<h4>9.缩小方法:reduce() reduceRight()</h4>

#Date()类型

#RegExp()类型

#function类型
参考:《javascript高级程序设计》

javascript基础知识3#引用类的更多相关文章

  1. Javascript基础知识总结一

    Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

  2. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  3. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  4. JavaScript 基础知识 - BOM篇

    前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...

  5. JavaScript基础知识整理

    只整理基础知识中关键技术,旨在系统性的学习和备忘. 1.在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN ...

  6. JavaScript基础知识梳理,你能回答几道题?

    在学习JavaScript的时候,总是这里学一点,那里学一点,很的很零星,很杂,没有很系统的去学习,感觉好像JavaScript的知识点都了解了,但是真正要说起来,又不知道从何说起! 最深刻的体会就是 ...

  7. JavaScript基础知识笔记

    做前端几年了,一直疏于整理归纳,所以这两天把基础看了一遍,加上使用经验,整理了基础知识中关键技术,旨在系统性的学习和备忘.如果发现错误,请留言提示,谢谢! 重要说明:本文只列举基础知识点,中级和高级内 ...

  8. JavaScript——基础知识,开始我们的js编程之旅吧!

    JavaScript基础第01天 1. 编程语言 编程语言: 可以通过类似于人类语言的"语言"来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming ...

  9. (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识

    开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...

随机推荐

  1. An overnight dance in discotheque

    An overnight dance in discotheque time limit per test 2 seconds memory limit per test 256 megabytes ...

  2. python可视化--matplotlib

    matplotlib在python中一般会与numpy同时出现,解决一些科学计算和数据的可视化问题. matplotlib其实就是matlib在python中的实现,因此不会有太大的难度,而由于pyt ...

  3. 怎样用DOS命令创建txt文本文档

    单击运行, 打开命令提示符. 例如在D盘创建文本文档,那么就先进入D盘,在后面写 D: 于是就进入了D盘怎样用DOS命令创建txt文本文档 然后在后面写命令 copy con 文件名.txt ,然后回 ...

  4. Spring MVC 项目搭建 -5- spring security 使用数据库进行验证

    Spring MVC 项目搭建 -5- spring security 使用数据库进行验证 1.创建数据表格(这里使用的是mysql) CREATE TABLE security_role ( id ...

  5. pouchdb-find( pouchdb查询扩展插件 ,便于查询)

    pouchdb-find pouchdb-find 环境搭建 下载lib bower install pouchdb-find 引入js <script src="pouchdb.js ...

  6. 用maven创建工程

    用maven创建工程 开始 mvn archetype:generate 遇到问题:冗长的工程原型列表和等待时间 改进 mvn archetype:generate -DarchetypeCatalo ...

  7. H3CNE实验:H3C设备文件管理

    第1步:配置文件的管理操作 (1) save [ safely ]--在H3C设备上将当前配置保存到存储介质的根目录下. 快速保存方式:不带 safely 参数. 安全方式:带 safely 参数. ...

  8. winform利用委托delegate进行窗体间通信,相同标题已经存在??

    前段时间学习委托,感觉很模糊的样子,也做过许多实例,但是项目中一直没有用到,今天在项目中遇到一个很简单的例子,现在拿出来,做一个简单的记录. 要求:将弹出框里勾选的内容返回到主面板上. 工具:委托. ...

  9. [Splay伸展树]splay树入门级教程

    首先声明,本教程的对象是完全没有接触过splay的OIer,大牛请右上角.. 首先引入一下splay的概念,他的中文名是伸展树,意思差不多就是可以随意翻转的二叉树 PS:百度百科中伸展树读作:BoGa ...

  10. Python Django之路与您同行

    大家好,我是TT,互联网测试行业多年,没有牛逼的背景,也没有什么可炫耀的,唯独比他人更努力,在职场打拼.遇到过的坑,走过的弯路,愿意与大家分享,分享自己的经验,少走弯路.首发于个人公众号[测试架构师] ...