分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

JS数据类型

发布时间:2023-09-06 01:11责任编辑:胡小海关键词:数据类型

js数据类型分类

基本数据类型 : Number,String,Boolean,Undefined,Null

复杂数据类型 : Object,Array,Function,RegExp,Date,Error

全局数据类型 :Math

我们可以用typeof去判断一个变量的类型

但是通常只会返回6种状态,分别为:

                  undefined   未初始化

                  boolean  

                  string  

                  number  

                  object   对象或者Null

                  function  函数

如果想具体判断是object哪种类型,则使用

Object.prototype.toString.call();

Array对象

1、array的创建

1 var arr = new Array();2 arr[0] = 0;3 arr[1] = 1;4 5 6 var arr = new Array("BMW","volvo");7 8 9 var arr = new Array(10);

 

常用的方法 :

  concat()      连接两个或者更多数组,并返回结果

  filter()       返回符合条件的所有元素数组

  find()     返回符合传入测试(函数)条件的数组元素(第一个)

  indexof()    返回数组元素的位置

  join()       把数组所有元素放入一个字符串

  map()      通过函数处理每个元素并返回处理后的数组

  pop()       删除数组最后一个元素并返回删除元素

  push()     向数组末尾添加元素

  reduce()    将数组元素计算为一个值(从左往右) reduceRight()

  reverse()   反转元素顺序

  sort()      排序

例如 filter()就可以对数组进行筛选

1 var ages = [32,33,16,46];2 function filterAges(age){3 ????return ages>=18; ?4 }5 6 ages.filter(filterAges);//[32,33,46]

例如利用join()就能进行拼接   ()里是指定的拼接分隔符

1 var arr = ["I","Love","You"];2 alert(arr.join("_")); ??????// ??输出I_Love_You

例如你需要动态的删除数组的最后一个元素,那么就可以使用pop()

1 var arr = ["I","Love","You"];2 alert(arr.pop()); ??// ??输出 ?You3 alert(arr); ????????// ?输出[I,Love]

 又例如求一个数组的和可以使用reduce()方法,而且计算速度比循环之类的快的多

 1 var arr = [1,2,3]; 2 alert(arr.reduce(function (p1, p2, p3, p4) { 3 ????????return p1+=p2; 4 })); ??//输出6 5 ?6 //如果想给个初始值的话,可以 7 var arr = [1,2,3]; 8 alert(arr.reduce(function (p1, p2, p3, p4) { 9 ????????return p1+=p2;10 },5)); ?//输出11,在5的基础上开始相加

或者还有个办法

1 var arr = [1,2,3];2 alert(eval(arr.join("+"))); ??//输出6

Date对象

var date = new Data(); //获取当前时间 ?Sun Sep 17 2017 15:16:05 GMT+0800

如果在你服务器上运行取得就是你服务上的时间

 1 ?????var date = new Date(); 2 ?????console.log(date); 3 ????//获取当前日期(1~31) 4 ????console.log(date.getDate()); 5 ????//获取星期几 (0~6) 6 ????console.log(date.getDay()); 7 ????//获取月份 ?(0~11) 8 ????console.log(date.getMonth()); 9 ????//获取年份10 ????console.log(date.getFullYear());11 ????//获取时 ??(0~23)12 ????console.log(date.getHours());13 ????//获取分 ??(0~59)14 ????console.log(date.getMinutes());15 ????//获取秒 ??(0~59)16 ????console.log(date.getSeconds());

结果

如果在每个方法前面 +UTC,那么就可以获取UTC时间

如果把get换成set,那么就可以设置对应的时间

还有几个方法也比较实用

1 ????//获取1970年1月1日到指定时间的毫秒数(加上时区)2 ????console.log(date.getTime());3 ????//将时间转成string类型4 ????console.log(date.toString());5 ????//将时间转成本地string类型6 ????console.log(date.toLocaleString());7 ????//将时间转成UTCstring类型8 ????console.log(date.toUTCString()); ???

结果

getTime 可以用来计算时间差

那么,怎么自己构造一个Date类型的时间呢

1、把毫秒数转换成Date

1 var date = new Date(1000*60*1);2 console.log(date); ??//Thu Jan 01 1970 08:01:00 GMT+0800 (中国标准时间)

2、把字符串转话成Date对象     主要有2种格式

  yyyy/MM/dd HH:mm:ss                    推荐,可以省略时间,省略返回00:00:00

  yyyy-MM-dd HH:mm:ss                   省略时间返回08:00:00  ;如果不省略,在IE中会转化失败

 1 ????var date = new Date("1993/07/08 11:11:11"); 2 ????console.log(date); ???//Thu Jul 08 1993 11:11:11 GMT+0800 (中国标准时间) 3 ?4 ????var date = new Date("1993/07/08"); 5 ????console.log(date); ????//Thu Jul 08 1993 00:00:00 GMT+0800 (中国标准时间) 6 ?7 ????var date = new Date("1993-07-08 11:11:11"); 8 ????console.log(date); ?????//Thu Jul 08 1993 11:11:11 GMT+0800 (中国标准时间) 9 10 ????var date = new Date("1993-07-08");11 ????console.log(date); ?????//Thu Jul 08 1993 08:00:00 GMT+0800 (中国标准时间) ???

 如果不省略时间在IE中无法转化

3、new Date(year,month,opt_day,opt_hours,opt_minutes,opt_seconds,opt_milliseconds)     带opt的是可以省略的

year(int)          4位数

month(int)          2位数   0~11

opt_day(int)         2位数   0~23

opt_hours(int)        2位数   0~59

opt_minutes(int)       2位数   0~59

opt_seconds(int)        2位数   0~59

opt_milliseconds(int)     0~999

 1 ????var date = new Date(1993,7,8); 2 ????console.log(date); ???//Sun Aug 08 1993 00:00:00 GMT+0800 (中国标准时间) 3 ?4 ????var date = new Date(1993,7,8,12); 5 ????console.log(date); ?????//Sun Aug 08 1993 12:00:00 GMT+0800 (中国标准时间) 6 ?7 ????var date = new Date(1993,7,8,12,12); 8 ????console.log(date); ?????//Sun Aug 08 1993 12:12:00 GMT+0800 (中国标准时间) 9 10 ????var date = new Date(1993,7,8,12,12,12);11 ????console.log(date); ?????//Sun Aug 08 1993 12:12:12 GMT+0800 (中国标准时间)12 13 ????var date = new Date(1993,7,8,12,12,12,12);14 ????console.log(date); ?????//Sun Aug 08 1993 12:12:12 GMT+0800 (中国标准时间)

JS数据类型

原文地址:http://www.cnblogs.com/jiangshichao/p/7536074.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved