JavaScript中的数据类型分为两种,一种是简单数据类型,包括Undefined、Null、Boolean、Number和String,另一种是复杂数据类型,即Object,也可称作为引用类型。

本篇主要介绍常见的引用类型以及对应的操作。

Object类型

Object类型是JavaScript中最常见的数据类型了。它表示一系列的属性和值的集合。

我们可以这样创建一个Object:

var obj = new Object();

更常用的方式是这样:

var obj = {a: "a"};

Array类型

数组类型也是非常常用的一种数据类型,与其他语言不同的是,JavaScript中的数组的每一项都可以保存任意类型的值。而且,JavaScript数组的大小是可以动态调整的,随着数据的添加而自动增长。

下面是JavaScript数组的常用操作汇总。

Date类型

Date类型是基于Java语言的Date类构建的,使用自UTC时间1970年1月1日零时开始经过的毫秒数来保存日期。

下面是JavaScript日期类型的常用操作汇总。

RegExp类型

我们在日常开发过程中经常要用到正则表达式,JavaScript通过RegExp类型来支持正则表达式。

常见正则表达式通常有一下两种方式:

var expression = / pattern / flags

其中的模式(pattern)可以应用任何简单或复杂的正则表达式(参考正则表达式30分钟入门教程),可以包含字符类、限定符、分组、向前查找以及反向引用。每个正则表达式可以带有一个或多个标识(flags),用以标明正则表达式的行为。正则表达式的模式匹配支持下面三种标识:

  • g: 表示全局(global )模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止
  • i:表示不区分大小写(case-insensitive )模式,即在确定匹配项时忽略模式与字符串的大小写
  • m:表示多行(multiline )模式,即在到达一行文本末尾时还会继续查找下一行中是否存在与模式匹配的项。

另一种创建正则表达式的方式是通过构造函数:

var pattern2 = new RegExp("[bc]at", "i");

传递给构造函数的都是字符串,所以如果正则表达式字符串中包含元字符,则需要进行双重转义。比如\在字符串中通常为\\,但是在正则表达式字符串中,要转移成\\\\

通常我们在使用正则表达式的时候,会使用到如下两种方法:

  • exec() 该函数接受一个字符串参数作为应用模式的字符串。返回包含第一个匹配信息的数组,或者在没有匹配的情况下返回null。
  • test() 该函数接受一个字符串参数,在模式与该参数匹配的情况下返回true,否则返回false。

String类型

String类型是字符串的对象包装类型。

var strObj = new String("This is a String Object.");

以下是常见的字符串操作:

小结

除了上面介绍的几种数据类型外,还有Number、Boolean这样的对象包装类型,Math这样的单体内置对象,由于使用频率相对较低一点,且使用方法都较为简单,所以不在此处一一罗列,需要使用的时候,参考一下工具书就可以了。

本篇有意避开了Function函数类型没有说,并不是函数类型不重要,相反,函数是JavaScript中的一等公民。之所以没有说,一是受篇幅限制,二是函数确实有太多的细节需要注意,所以后面会有一篇单独介绍JavaScript中的函数,以及作用域、闭包等概念。

(Frontend Newbie)JavaScript基础之常见数据类型的更多相关文章

  1. JavaScript 基础 (变量声明, 数据类型, 控制语句)

    创建: 2017/09/16 更新: 2017/09/24 更改标题 [JavaScript 概要]-> [JavaScript 基础] 完成: 2017/09/25 更新: 2017/10/0 ...

  2. JavaScript 基础类型,数据类型

    1.基础类型:undefined,null,Boolean,Number,String,Symbol Undefined类型:一个没有被赋值的变量会有个默认值undefined; Null类型:nul ...

  3. JavaScript基础知识:数据类型,运算符,流程控制,语法,函数。

    JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECM ...

  4. javascript基础知识2#数据类型

    数据类型 typeof 操作符 undefined类型 boolean类型 Nubmer类型 NaN(not a number) 数值转换parseInt,parseFloat String类型 字符 ...

  5. JavaScript基础知识(数据类型)

    数据类型 布尔:true/fasle console.log(typeof true);// "boolean" Number : true -->1 false --> ...

  6. javaScript基础篇之数据类型

    我主要学习廖雪峰老师官方网站的javaScript,所以很多都是出自于廖老师,请见谅.以下是廖老师的官方网站的地址:http://www.liaoxuefeng.com/wiki/0014344466 ...

  7. JavaScript 基础知识梳理——数据类型

    JavaScript的数据类型公有六种,ES6又新增了第七种Symbol类型的值. 数值(number) 字符串(string) 布尔值(boolean) undefined null 对象(obje ...

  8. JavaScript基础知识(数据类型及转换、运算符)

    9.数据类型 概念:表示当前存储的数据的分类(表示数字 - 整数和小数) u  原始类型(原始值) -----[typeof运算符:判断变量的原始类型] *number(数字):表示数字        ...

  9. javascript基础2 判断 数据类型

    js中的数据类型: ------------------------------------------------------------------------------- 返回undefine ...

随机推荐

  1. python2.7响应数据中unicode转中文

    print ("响应结果:%s" % r.content.decode('unicode_escape')) 一. 在爬虫抓取网页信息时常需要将类似"\u4eba\u75 ...

  2. IOS GPS跟踪备注

    CLLocationManager还提供了如下类方法来判断当前设备的定位相关服务状态. Ø + locationServicesEnabled:返回当前定位服务是否可用. Ø + deferredLo ...

  3. 使用Filter对POST和GET方式的请求参数的进行统一解码

    一.过滤器 二.自定义request类

  4. Java代码生成16位纯数字的订单号

    //生成16位唯一性的订单号 public static void getUUID(){ //随机生成一位整数 int random = (int) (Math.random()*9+1); Stri ...

  5. leecode刷题(6)-- 两个数组的交集II

    leecode刷题(6)-- 两个数组的交集II 两个数组的交集II 描述: 给定两个数组,编写一个函数来计算它们的交集. 示例: 输入: nums1 = [1,2,2,1], nums2 = [2, ...

  6. leecode刷题(5)-- 只出现一次的数字

    leecode刷题(5)-- 只出现一次的数字 只出现一次的数字 描述: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具 ...

  7. luoguP2387 [NOI2014]魔法森林

    https://www.luogu.org/problemnew/show/P2387 考虑先将所有边按 a 值排序,依次加入每一条边,如果这条边的两个端点 ( l, r ) 之间的简单路径中 b 的 ...

  8. golang包引用解析

    golang包引用解析 环境变量配置如下: GOROOT----[C:\Go] GOPATH----[F:\workspace\go_home] vs code配置如下: F:\workspace\g ...

  9. 1、TensorFlow简介

    参考:http://www.tensorfly.cn/tfdoc/get_started/basic_usage.html 1.用TensorFlow构造一个简单的线性拟合: # -*- coding ...

  10. 红蓝对抗 - 蓝队手册(BTFM)(转载)

    本文已发表在嘶吼RoarTalk,未经授权,请勿转载! http://www.4hou.com/technology/10173.html 最佳阅读体验版:https://stackedit.io/v ...