js的数据类型有哪几种

JavaScript016

js的数据类型有哪几种,第1张

基本数据类型(值类型)包含:

字符串(String)

数字(Number)

布尔(Boolean)

空(Null)

未定义(Undefined)

Symbol。

引用数据类型(对象类型)包含:

对象(Object)

数组(Array)

函数(Function)

可以用typeof()方法帮助判断数据类型

1.字符串创建方式

2.string以及任何的js数据都有两种身份:

1)表示自身数据类型

2)表示对象类型身份:对象类型身份给每种数据类型提供了很多的操作方法,便于对数据进行操作

总之就是js中一切皆是对象,可以对其进行相应的操作。

3.字符串对象属性lenght。

string.lenght

表示字符串包含字符的个数

4.String对象方法

2)、 chartCodeAt (获取字符串指定下标字符的UniCode编码)

3)、 indexOf (获取指定字符下标首次出现的位置)

字符串.indexOf('指定字符') 获取指定字符下标,没有则返回-1

字符串.indexOf('指定字符',指定下标) 从指定下标处开始获取指定字符下标,没有则返回-1

可以用来判断html的class属性中是否包含某些类名。

4)、 lastIndexOf用法与indexOf完全相同,只是lastIndexOf是从后往前查找

5)、字符串的比较:

字符串大小比较实际上是比较两个字符串的ASCII编码值。1-9ASCII编码值逐渐增大,a-z编码值逐渐增大。

比较方法:先比较两个字符串的首位,首位相同则比较下一位,以此类推。

6)、字符串的截取方法substring

字符串.substring(起点下标,终点下标),可以截取到起点截取不到终点。起点终点位置颠倒也可以

字符串.substring(起点下标);起点及后面都可以截取到

字符串.substring(负数),如果传入参数为负数,会直接将负数参数置为0

7)、字符串的截取方法Slice

字符串.slice(起点下标,终点下标),可以截取到起点截取不到终点。起点终点位置颠倒不可以

字符串.slice(起点下标),起点及后面都可以截取到

如果参数为负,会将参数与原字符串的lenght相加得到结果作为参数,加完后还为负数,则置为零。

8)、字符串大小写转换方法:toUpperCase()toLowerCase()

9)、字符串的切割方法:split

字符串.split('切割标识')

以切割标识进行切割,将字符串切割分开,放入数组钟,并将数组返回。

切割标识会被切掉,不会保留到数组中,如果不传切割标识则将整个字符串放入数组作为一个数组项。

例子:例如微信小程序扫码进入页面传的参数为233_affadsgafd,则通过split("_")截取,scene[0]的值为233,scene[1]的值为affadsgafd

10)、替换字符串方法:replace()

字符串.replace('要替换的字符部分','用来替换的字符部分')

11)、删除字符串两端空格方法:trim()

字符串.trim()

删除字符串两边空格,一般用在注册用户名或密码的时候,防止用户输入空格;

trim只删除字符串两端空格,不删除字符串中间的空格

基本数据类型(按值访问):Undefined 、 Null 、 Boolean 、 Number 和 String

引用数据类型(按引用访问):object、Array、function

typeof(检测基本数据类型时 typeof 是非常得力的助手)可以返回以下6种类型:undefined  、 boolean 、 number 、string、object(对象和null都是object类型)、function

instanceof(用于检测引用类型):所有引用类型的值都是 Object 的实例,person(引用类型值) instanceof Object永远都是true。

要知道是什么类型的对象,使用instanceof 操作符接上想要判断的类型,例如colors instanceof Array。

基本数据类型复制:复制的是该变量的副本,这两个变量可以参与任何操作而不会相互影响

引用数据类型复制:复制的是该变量的指针,该指针指向存储在堆中的一个对象。复制操作结束后,两个变量实际上将引用同一个对象。因此,改变其中一个变量,就会影响另一 个变量

传参:基本类型和引用类型全部是按值传递,相当于把参数复制一份给到function的局部变量

为了便于操作基本类型值,ECMAScript 还提供了 3 个特殊的引用类型: Boolean 、 Number 和

String 。

Number 类型重写了 valueOf() 、 toLocaleString() 和 toString()方法。除了继承的方法之外, Number 类型还提供了一些用于将数值格式化为字符串的方法。 toFixed() 方法会按照指定的小数位返回数值的字符串表示。

String 对象的方法也可以在所有基本的字符串值中访问到。其中,继承的 valueOf() 、 toLocale-String() 和 toString() 方法,都返回对象所表示的基本字符串值。String 类型的每个实例都有一个 length 属性。

字符方法:两个用于访问字符串中特定字符的方法是: charAt() 和 charCodeAt() 。

var stringValue = "hello world"

alert(stringValue.charAt(1))//"e"

alert(stringValue.charCodeAt(1))// 输出"101",小写字母 "e" 的字符编码

字符串操作方法

1、concat:拼接字符串,可接收任意多字符串,不改变原字符串值,虽然 concat() 是专门用来拼接字符串的方法,但实践中使用更多的还是加号操作符(+)。

var stringValue = "hello "

var result = stringValue.concat("world", "!")

alert(result)//"hello world!"

alert(stringValue)//"hello"

2、三个基于子字符串创建新字符串的方法: slice() 、 substr() 和 substring() 。都接收1或2个参数。

slice() 、substring()在接收正数参数时,第一个参数是字符串截取的起始位置,第二个是字符串结束位置。

substr()在接收正数参数时,第一个参数同上,第二个参数是截取长度。

当第一个参数为负数的时候,slice()和substr()按照参数+字符串长度结果来截取;substring()将负参数转换为0;

当第二个参数为负数的时候,slice()按照参数+字符串长度结果来截取;substr()和substring()将负参数转换为0;

3、字符串位置方法:有两个可以从字符串中查找子字符串的方法: indexOf() 和 lastIndexOf()

4、trim():删除字符串前后空格,不改变原字符串值

5、字符串大小写转换方法

字符串大小写转换的方法有 4 个: toLowerCase() 、 toLocaleLowerCase() 、 toUpperCase() 和toLocaleUpperCase() 。

6、字符串的模式匹配方法

match() 方法只接受一个参数,要么是一个正则表达式,要么是一个 RegExp 对象。返回数组。

search()参数同上。返回要查找的在字符串中第一次出现的位置。

字符串替换:var result = text.replace("at", "ond")

7、localeCompare() 方法

var stringValue = "yellow"

alert(stringValue.localeCompare("brick"))//1

在前面返回1,同样位置返回0,在后面返回-1