javascript基础知识3#引用类
引用类
引用类型的只是引用类型的一个实例,在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#引用类的更多相关文章
- Javascript基础知识总结一
Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- JavaScript 基础知识 - BOM篇
前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...
- JavaScript基础知识整理
只整理基础知识中关键技术,旨在系统性的学习和备忘. 1.在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN ...
- JavaScript基础知识梳理,你能回答几道题?
在学习JavaScript的时候,总是这里学一点,那里学一点,很的很零星,很杂,没有很系统的去学习,感觉好像JavaScript的知识点都了解了,但是真正要说起来,又不知道从何说起! 最深刻的体会就是 ...
- JavaScript基础知识笔记
做前端几年了,一直疏于整理归纳,所以这两天把基础看了一遍,加上使用经验,整理了基础知识中关键技术,旨在系统性的学习和备忘.如果发现错误,请留言提示,谢谢! 重要说明:本文只列举基础知识点,中级和高级内 ...
- JavaScript——基础知识,开始我们的js编程之旅吧!
JavaScript基础第01天 1. 编程语言 编程语言: 可以通过类似于人类语言的"语言"来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming ...
- (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识
开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...
随机推荐
- IBM新合作伙伴计划助力企业转型升级
IBM作为老牌企业,一直在引领者技术方面的变革.当IBM再一次从自我革新开始,期望能够更快的将认知计算和云推广给自己的合作伙伴和用户们,以帮助他们在新的转型期内,能够快人一步. ...
- PyCharm 教程
转自:http://blog.csdn.NET/u013088062/article/details/50388329 作者:山在岭就在 之间花了一周多的时间把Pycharm官方帮助文档翻译了一遍,一 ...
- CUDA零内存拷贝 疑问考证
今天思考了一下CUDA零内存拷贝的问题,感觉在即将设计的程序中会派上用场,于是就查了一下相关信息. 以下是一些有帮助的链接: cuda中的零拷贝用法--针对二维指针 cuda中的零拷贝用法--针对一维 ...
- 在线SVN仓库实现:金山快盘+TortoiseSVN(Win)+SCPlugin(Mac)
前段时间一直在研究SVN在线托管,也尝试了网上推荐的免费托管网站. 但毕竟是是免费的,还是要受到比如空间大小.私有性等这样那样的限制,感觉有些麻烦. 而且,比较心疼自己在本地开发的时候积累的更新日志, ...
- PILLOW图片中加入中文 曲线救国Opencv
索引 简述 准备 示例 效果图 结语 简述 我在使用opencv2或3的时候想要在图片上添加中文文字,需要去下载Freetype库,编译好链接到opencv库中才能中文的输出.网上大部分在图片中插入中 ...
- 【PHP】制作日历
本期本博主将讲述两种利用PHP制作日历的方法,由于PHP日期函数的便捷性,使得我们制作日历这一过程变得相当简单 问题描述: 1.取到当前日期,并着色显示:2.根据当前日期,判断本月有多少天,一号是周几 ...
- 屏幕适配/autoLayout autoresizingMask
#pragma mark-- 屏幕适配/autoLayout autoresizingMask 1> 发展历程 代码计算frame -> autoreszing(父控件和子控件的关系) - ...
- Linux之通配符
前言:学习通配符有点为正则表达式打基础的感觉……之前学python有学过正则表达式,所以这篇博客学起来还是挺快的. 特殊符号 | #管道符,或者(正则) > #输出重定向 >> #输 ...
- href="#" 的坑
第一次发博客, 也不讲究样式. 只是单纯的说一下踩过的坑,方便后人避坑吧 之前做项目的时候,碰到一个非常奇葩的问题. 就是在jqgrid中写了了一个简单的方法 {name:'已经存在的列名称', la ...
- C#读取excl(兼容office多种版本)
要求:导入excl引用了using System.Data.OleDb,需要安装一个office Microsoft.ACE.OLEDB.12.0 office7以上版本 Microsoft.Jet. ...