如何理解javascript中一切都是对象

JavaScript019

如何理解javascript中一切都是对象,第1张

对象到底是什么,我们可以从两次层次来理解。

(1) 对象是单个事物的抽象。

一本书、一辆汽车、一个人都可以是对象,一个数据库、一张网页、一个与远程服务器的连接也可以是对象。当实物被抽象成对象,实物之间的关系就变成了对象之间的关系,从而就可以模拟现实情况,针对对象进行编程。

(2) 对象是一个容器,封装了属性(property)和方法(method)。

属性是对象的状态,方法是对象的行为(完成某种任务)。比如,我们可以把动物抽象为animal对象,使用“属性”记录具体是那一种动物,使用“方法”表示动物的某种行为(奔跑、捕猎、休息等等)。

在实际开发中,对象是一个抽象的概念,可以将其简单理解为:数据集或功能集。

ECMAScript-262 把对象定义为:无序属性的集合,其属性可以包含基本值、对象或者函数。严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。

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只删除字符串两端空格,不删除字符串中间的空格