美文网首页
Javascript 语法(四)

Javascript 语法(四)

作者: petertou | 来源:发表于2016-07-11 20:49 被阅读0次

今天我们来说说JS的复杂数据类型。数组 、对象称为复杂类型,也称为引用类型。比如数组 函数 正则 时间函数 都属于对象类型,当然也属于复杂数据类型。

如何查看一个变量是何种数据类型呢?使用关键字 typeof 或者 instanceof .

在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 “object”。这就需要用到instanceof来检测某个对象是不是另一个对象的实例。

typeof instanceof.png

数组

创建数组的方式有两种方式 : 构造函数和字面量

构造函数
1.无参构造函数,创建一空数组
var a1 = new Array();

2.一个数字参数构造函数,指定数组长度(由于数组长度可以动态调整,作用并不大),创建指定长度的数组
var a2 = new Array(5);

3.带有初始化数据的构造函数,创建数组并初始化参数数据
var a3 = new Array(4, 'hello', new Date());

字面量
1.使用方括号,创建空数组,等同于调用无参构造函数
var a4 = [];

2.使用中括号,并传入初始化数据,等同于调用带有初始化数据的构造函数
var a5 = [10];

注意点
1.在使用构造函数创建数组时如果传入一个数字参数,则会创建一个长度为参数的数组,如果传入多个,则创建一个数组,参数作为初始化数据加到数组中
var a1 = new Array(5); console.log(a1.length);//5 console.log(a1); //[] ,数组是空的 var a2 = new Array(5,6); console.log(a2.length);//2 console.log(a2); //[5,6]

但是使用字面量方式,无论传入几个参数,都会把参数当作初始化内容
var a1 = [5];console.log(a1.length);//1console.log(a1); //[5]var a2 = [5,6];console.log(a2.length);//2console.log(a2); //[5,6]

2.使用带初始化参数的方式创建数组的时候,最好最后不要带多余的”,”,在不同的浏览器下对此处理方式不一样
var a1 = [1,2,3,];console.log(a1.length);console.log(a1);

这段脚本在现代浏览器上运行结果和我们设想一样,长度是3,但是在低版本IE下确实长度为4的数组,最后一条数据是undefined

有var关键字声明的变量和没有var关键字声明的变量有何区别?

var.png

如果不加var 关键字 , 其结果相当于window 对象的一个属性
window.b = 1。

栈方法和堆方法

push 向数组添加一个成员,放置数组的末尾,其它成员顺次移动。返回该数组的长度。

push.png

pop 将数组的最后一个成员 删除,其它成员顺次移动。返回删除该数组成员。

pop.png

unshift 向数组添加一个成员放置数组的第一位,其它成员顺次移动。返回该数组的长度。

unshift.png

shift 将数组的第一个成员 删除,其它成员顺次移动。返回删除的原数组成员。

shift.png

其它数组方法
split 将一个字符串转化为一个字符串数组。返回一个新的字符串数组,原字符串无变化。

split.png

Join(separator) 将数组中的成员放入一个字符串中,并返回该字符串。

join.png

splice 任意位置添加/删除数组中的成员,其它成员并顺次移动。对原数组进行操作。

splice.png

1 如果有两个参数,第一个参数表示起始的下标,第二个参数表示删除的个数。

arr.splice(0,1)
从数组的下标为0的开始,删除1个长度的成员。返回删除的数组成员。

2 如果有N个参数,第一个参数表示起始的下标,第二个设置为0(表示没有删除),上下的表示要添加的数组成员。

arr.splice(0,0,1)
从数组的下标为0的开始,添加1个长度的成员。返回数组的长度。

slice 将原数组中一部分浅复制存入一个新的数组对象中,并返回这个新的数组 ,对原始数组没有改变。

Slice.png

concact 将两个数组拼接到一起.返回一个新的数组。

concat.png

reverse 将数组中元素倒叙排列

reserve.png

sort 先要转换为字符串 用ASCII码 进行比较

相关文章

  • Javascript 语法(四)

    今天我们来说说JS的复杂数据类型。数组 、对象称为复杂类型,也称为引用类型。比如数组 函数 正则 时间函数 都属于...

  • JSON 语法

    JSON 语法是 JavaScript 语法的子集。 JSON 语法规则 JSON 语法是 JavaScript ...

  • JavaScript语法

    JavaScript语法 一、JavaScript的组成 完整的JavaScript是由ECMAScript(语法...

  • 2018-11-05

    01javascript语法规范 javascript语法...

  • js_api

    JavaScript substring() 方法 语法 JavaScript slice() 方法 语法 Jav...

  • JavaScript-01

    A 什么是JavaScript JavaScript 定义JavaScript JavaScript基础语法 常用...

  • JS----字符串、定时器、变量

    Javascript组成 1、ECMAscript javascript的语法(变量、函数、循环语句等语法) ...

  • JavaScript语法教程学哪些知识点?

    JavaScript语法教程学哪些知识点?JavaScript语法需要学计算机基础、Javascript变量、数据...

  • JavaScript基本语法

    初识JavaScript JavaScript的组成 完整的JavaScript是由ECMAScript(语法)、...

  • H5:入门笔记六之WebAPI

    JavaScript的组成 ECMAScript - JavaScript的核心定义了javascript的语法规...

网友评论

      本文标题:Javascript 语法(四)

      本文链接:https://www.haomeiwen.com/subject/zcljjttx.html