一、简单数据类型

Number、String、Boolean、Undefined、Null

1、Number:

方法:

toPrecision( ) 返回指定长度的数字(范围是1到100)

toFixed( ) 用于小数点后面的位数四舍五入(默认为0,范围是0到100)

toString( ) 转换为字符串

Number() 转换为数字

toExponential() 将数字转换为指数

valueOf()返回数字的原始值

Number.isInteger() 判断是否为整数 (不做类型转换)

Number.isFinite() 判断是否是有限数字。 (不做类型转换)

Number.isNaN() 判断是否为NaN

范围:

最小值:Number.MIN_VALUE,值为: 5e-324

最大值:Number.MAX_VALUE,值为: 1.7976931348623157e+308

进制转换:

十进制转其它toString():十进制.toString(8/16/32)

其它进制转十进制parseInt():parseInt(其他进制,8/16/32)

其他进制转其他进制:先转为十进制,在转为其他进制

2、String

属性:

length 属性返回字符串的长度

方法:

toLowerCase() 把字符串转为小写,返回新的字符串

toUpperCase() 把字符串转为大写,返回新的字符串

charAt() 返回指定下标位置的字符

charCodeAt() 返回指定下标位置的字符的unicode编码

indexOf() 返回字符串中指定文本首次出现的索引(未找到返回-1)

lastIndexOf() 返回指定文本在字符串中最后一次出现的索引(未找到返回-1)

search() 搜索特定值的字符串,并返回匹配的位置

slice(x,y) 返回字符串中下标x到下标y的字符串但不包含y

substring() 用法与slice()一样,但不接受负值的参数

substr(x,length) 返回字符串中下标从x开始的length长度的字符串

replace(x0,x1) 用字符串x1替换x0,返回新字符串

concat() 连接两个或多个字符串

trim() 删除字符串两端的空白符

split() 把字符串分割成字符串数组

match() 返回所有查找的关键字内容的数组

字符串拼接:

两边只要有一个是字符串,那么+就是字符串拼接功能

两边如果都是数字,那么就是算术功能

1+abc //"1abc"

1+"2" //"12"

1+2 //3

1+true //2

1+false //1

1+[6] //"61"

1+{} //[object Object]1

1+undefine //NaN

"2"-1//1

"as"-1//NaN

[]-1//-1

3、Boolean

字面量:true和false,区分大小写

计算机内部存储:true为1,false为0

4、Undefined

表示一个声明了没有赋值的变量,变量只声明的时候值默认是undefined

5、Null

null表示一个空,变量的值如果想为null,必须手动设置

二、复杂数据类型

object(function、Array、Date)

1、Array数组

属性:

length 属性返回数组的长度

constructor 对创建数组对象的Array构造函数的引用

prototype 原型

方法:

toString() 把数组转换为数组

join() 将所有数组元素结合为一个字符串(可以设置分隔符)

pop() 从数组中删除最后一个元素

shift() 从数组中删除首个元素

push() 在数组结尾处向数组添加一个新的元素

unshift() 在开头向数组添加新元素

reverse() 颠倒数组中元素的顺序。

splice删除元素,并向数组中删除的位置添加新的元素,返回删除的元素

concat() 合并数组

slice() 从数组中返回已选定的元素(返回新数组)

sort() 对数组的元素进行排序,并返回排序后的数组

Math.max.apply(null, arr) 返回数组中最大值

Math.min.apply(null, arr) 返回数组中最小值

forEach() 循环遍历数组 (不能通过return false阻止循环,应使用try catch)

indexOf() 同字符串

lastIndexOf() 同字符串

map() 循环遍历数组不会更改原始数组。

filter() 数组过滤

reduce()

every() 检查所有数组值是否通过测试,返回true或false

some() 检查某些数组值是否通过了测试,返回true或false

find() 方法返回通过测试函数的第一个数组元素的值

findIndex() 方法返回通过测试函数的第一个数组元素的索引

2、Date日期

new Date() 用当前日期和时间创建新的日期对象

获取当前日期(时间戳转时间格式):

let day = (t)=> {

var date = new Date(parseInt(t));

var YY = date.getFullYear() + '-';

var MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';

var DD = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate());

var hh = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';

var mm = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';

var ss = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());

return YY + MM + DD + " " + hh + mm + ss;

}

获取当前时间戳:

new Date().getTime()

3、function函数

this:谁调用函数,函数的this就指向谁。

预解析:

把变量的声明提升到当前作用域的最前面,只会提升声明,不会提升赋值。

把函数的声明提升到当前作用域的最前面,只会提升声明,不会提升调用。

先提升var,在提升function

三、数据类型检测

typeof: 一般只能返回如下几个结果:"number"、"string"、"boolean"、"object"、"function" 和 "undefined"。不能检测复杂类型和null

数字:number

字符串:string

true和false:boolean

对象和数组:object

未定义未赋值:undefined

Instanceof:可用来检测复杂数据类型,不能检测undefined和null

console.log(a instanceof Array)

console.log(b instanceof Object)

Object.prototype.toString.call():原型上精确检测数据类型 全部都可

Object.prototype.toString.call(data).slice(8,-1):返回数据类型

JavaScript基础知识梳理的更多相关文章

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

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

  2. javascript基础知识梳理-Number与String之间的互相转换【转】

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. JavaScript 基础知识梳理——事件

    事件 1)事件是文档或浏览器窗口中发生的特定的交互瞬间. JavaScript和HTML之间的交互是通过事件实现的. 2)事件流——描述的是从页面中接受事件的顺序 IE——事件冒泡流 Netscape ...

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

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

  5. [C# 基础知识梳理系列]专题六:泛型基础篇——为什么引入泛型

    引言: 前面专题主要介绍了C#1中的2个核心特性——委托和事件,然而在C# 2.0中又引入一个很重要的特性,它就是泛型,大家在平常的操作中肯定会经常碰到并使用它,如果你对于它的一些相关特性还不是很了解 ...

  6. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  7. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  8. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  9. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

随机推荐

  1. 转:csdn怎么快速别人的文章

    在csdn看到好的文章想转载,无奈找不到转载的功能,只能想办法了. 首先确定原文允许转载 在文章开头处一般有版权声明,如图 转载时要注明出处和作者 如何转载 用谷歌浏览器加载文章地址,打开文章 F12 ...

  2. PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件设置tabsClosable后不能关闭选项卡的原因

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTabWidget的tabsClosable属性用于控制选项卡栏的每个选项卡是否显示关闭按钮,但显 ...

  3. PyQt(Python+Qt)学习随笔:QScrollArea的alignment属性不起作用的原因

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 Scroll Area滚动区域提供了一个呈现在其他部件上的可滚动区域视图,对应类为QScrollAr ...

  4. Monkey 部署环境

    Monkey的介绍 它是Android系统自带一个命令行工具,可以运行在模拟器里或者真是设备中运行. Monkey是发送伪随机用户事件的工具. Monkey向系统发送伪随机的用户事件流,实现对正在开发 ...

  5. PostgreSQL 如何忽略事务中错误

    在 PostgreSQL 的事务中:执行的SQL遇到错误(书写,约束限制):该事务的已经执行的SQL都会进行rollback.那如何忽略其中的错误.将SQL执行到底?在事务中设置 ON_ERROR_R ...

  6. 笔记-[APIO2010]特别行动队

    笔记-[APIO2010]特别行动队 [APIO2010]特别行动队 \(f_i\) 表示将 \((j+1,j+2,\dots,i)\) 分为一组,已解决 \(i\) 之前的士兵的最小代价. \(a& ...

  7. PsySH作为调试器

    PsySH作为调试器 PsySH可以用来在脚本中设置一个断点,在这个断点处它将暂停并提供对shell的访问,以检查变量并在断点所在位置的上下文中运行命令.目前它不支持逐步调试(如xdebug),但在需 ...

  8. 【Azure Redis 缓存】Azure Redis 服务不支持指令CONFIG

    问题描述 在Azure Redis的门户页面中,通过Redis Console连接到Redis后,想通过CONFIG命令来配置Redis,但是系统提示CONFIG命令不能用. 错误消息为:(error ...

  9. TLS 协议

    一.背景 参与了一个Sofa-RPC开源项目,认领了TLS的任务,记录下这次宝贵的经历,并感谢章哥的信任以及在整个过程中对我的帮助. 负责的部分不难,主要是使用h2(HTTP 2加密)协议,完成RPC ...

  10. (第一篇)记一次python分布式web开发(利用docker)

    作者:落阳 日期:2020-12-23 在一次项目开发中,决定使用docker+nginx+flask+mysql的技术栈来开发,用此系列文章记录开发的过程. 系列文章,当前为第一篇,记录一次pyth ...