JavaScrip核心(2)

文章目录

一、数据类型

二、栈类型与堆类型

三、检测数据类型

四、数据类型转换

  •             1.转化为布尔类型
  •             2.隐式转换

五、正则表达式语法(了解)

  •             1.什么是正则表达式
  •             2.正则表达式的作用
  •             3.如何使用正则表达式
  •             4.正则表达式特点
  •             5.学习目标
  •             6.正则在项目中的实际使用
  •             7.元字符与原义符
  •             8.字符类
  •            9.反向类(负向类): ^
  •           10.范围类

六、操作符

  •        1.等于操作符
  •        2.全等操作符


 前言

 JavaScript定义了基本数据类型和复杂数据类型,可以使用typeof关键字来判断一个变量的类型。


一、数据类型

1.为什么需要有数据类型?

每一种编程语言都有自己的语法规则,在处理数据的时候,也会有自己的规则,不是任何数据都可以处理的。  

2.什么是数据类型?

JS编译器在解析代码的时候,会产生各种不同的数据。 而不同的数据'运算'与'存储'方式都不同, 计算机需要对这些数据进行分类,称之为数据类型。

3.数据类型分类(暂不详解)


 二、栈类型与堆类型

  • 在js中基本类型在内存中占据空间小、大小固定,他们的值保存在栈(stack)空间。
  • 引用类型占据空间大,大小不固定,栈内存中存放地址指向堆(heap)内存中的对象。


三.typeof-检查数据类型

语法: typeof 数据

 


四、数据类型转换

1.转化为布尔类型

语法:Boolean(数据)

(1)有7种数据结果会得到false:

  • 0
  • -0
  • NaN 
  • ' '
  • undefind
  • null
  • false

(2)除flase 7种之外的一切数据结果为true

2. 隐式转换

 当运算符两边的 ’数据类型不一致‘ 的时候,编译器会转成一致后运算:

(1)转换数字: 算术运算符 + - * / %

(2)转换字符串: 连接符+ (+号两边只要有一边是字符串,此时+就是连接符)

(3)转换布尔: 逻辑非 !


五、正则表达式语法(了解) 

1.什么是正则表达式

  • 正则表达式是一个用于对字符串实现逻辑匹配运算的对象

     a.正则是内置对象 : 存储一些属性和方法

    b.表达式:对字符串 进行逻辑匹配 运算

  • 正则表达式:RegExp(regular expression)是ECMAScript内置对象

2.正则表达式的作用

  • 按照某种规则来匹配字符串,而正则表达式就是制定这个规则

  • 对 字符串进行逻辑匹配 运算

3.如何使用正则表达式

  • (1)创建正则表达式对象

  • (2)开始匹配使用test()方法

4.正则表达式特点

  • 对初学者极度的不友好

  • 非常的晦涩难懂

5.学习目标

  • 1.可以使用正则表达式验证常用表单文本(手机、邮箱、qq、座机、姓名)

  • 2.了解正则表达式在开发中的一些应用场景

6.正则在项目中的实际使用

  • 在手机号的校验规则中添加一个自定义校验
  • 正则表达式使用流程 :

  • (1)调用构造函数,创建正则对象:newRegExp(/正则表达式/);

  • (2)调用test方法,对字符串进行运算---->   true:符合规则    false:不符合

7.元字符与原义符

一个正则表达式主要由两部分组成
(1)原义文本字符 : 就是字符本身的含义,千万别想多了
(2)元字符: 改变了字符串本身的含义 (相当于js的关键字):

.   \  |   []   {}   ()   +   ?   *   $   ^

例如:

/abc/: 含义,就是检查字符串中有没有abc。 别想多了,不是说有a或者有b或者有c,也不是说有a和b和c。

8.字符类

(1)一般情况下,正则表达式的一个字符就是对于字符串的一个字符,这样处理比较方便
例如: /abc/ : 含义就是匹配字符串'abc’

(2)有时候我们并不想只匹配一个字符,而是想要匹配符合某一类特征的字符,这时就可以使用字符类

(3)创建简单字符类:: []

  • 这里类指的是符合某些特征的对象,只是一个泛指,而不是指某个字符

  • 例如正则表达式: /[abc]/:把字符a或b或c归为一类,可以匹配这类的字符

  • /[abc1/ :含义是,匹配字符串中只要有 a或者b或者c任何一个即可

9.反向类(负向类): ^

  • 反向类意思是不属于某类的内容

  • 例如正则表达式:[^abc] :含意是,不是字符a或b或c的内容

  • 只要有任何一个字符不是a或者b或者c,就满足条件

10.范围类

(1)需求:使用字符类匹配数字
(2)正则表达式:[0123456789] :含义是,有任何数字的内容:
         弊端:表达式冗余,假如我要匹配字母,那就要写 [abcdefg...........xyz],非常麻烦(3)如何解决冗余问题?

         使用范围类

(4)范围类:

例如:

  • [0-9] 含义是, 0-9之间的任意字符

  • [a-z]:含义是,a-z之间的任意字符

  • [A-Z]:含义是,A-Z之间的任意字符

注意点:

  • 范围类是一个闭区间, [a-z],这个范围包含字符a和z本身 

  • 在[]内部是可以连写的,[0-9a-zA-Z] :含义是,包含数字0-9,或者a-z,或者A-Z任意

  • 右边一定要大于左边,例如「5-8],这是合法的表示5-8之间的数字,不能写[8-5]


六、操作符

1.等于操作符

(1)等于操作符用两个等于号(==)表示,如果操作数相等,则会返回 true

(2)前面文章,我们提到在JavaScript中存在隐式转换。等于操作符(==)在比较中会先进行类型转换,再确定操作数是否相等

(3)遵循以下规则:

  • 如果任一操作数是布尔值,则将其转换为数值再比较是否相等

  • 如果一个操作数是字符串,另一个操作数是数值,则尝试将字符串转换为数值,再比较是否相等

2.全等操作符

(1)全等操作符由3个等于号(===)表示,只有两个操作数在不转换的前提下相等才返回true。即类型相同,值也需相同。

(2)undefined 和 null 与自身严格相等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颖姐666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值