JS学习札记 | 基础语法
记录一下学习JS的过程
前言
其实想学js很久了, 但是没有一个好的理由, 但是想到三件套是很多前端工具基础, 而js更是基础中的基础(>_<), 这下不得不学了. JS的语法和C艹很像, 比如while, for, class的写法, 但是逻辑却和Python很接近, 毕竟同为轻量级的解释性脚本语言, 对于自身的定位自然是易于上手和开发.
因此我认为对于语法知识的掌握速度应该是没什么问题的, 更重要的是要理解js的本质–一门主要服务于HTML和Web的语言, 这就要求我们要更多的在实战中练习学到的知识, 更要广泛的尝试项目.
解释环境
Node: v20.10.0
参考资料
基础语法
类型
JS中有6个数据类型
- string
- number
- boolean
- object
- function
- symbol
3个对象类型
- Object
- Date
- Array
和2个不包含任何值的数据类型
- null
- undefined
typeof可以查看数据类型
typeof "John" // 返回 string |
注意:
- NaN 的数据类型是 number
- 数组(Array)的数据类型是 object
- 日期(Date)的数据类型为 object
- null 的数据类型是 object
- 未定义变量的数据类型为 undefined
正则表达式
正则表达式可以借由特定的语法规则, 表示一类字符串的集合
这里仅给出正则表达式的用法, 关于完整的介绍, 请查询RegExp, 以及正则表达式
语法
正则表达式经常用/RegExp/[modifier]
定义
let patt = /world/i |
常用方法
在js中, 正则表达式常用于String的search()和replace()方法
-
search()方法检索与给定字符串或正则表达式匹配的字串的起始位置, 如果找不到则返回-1
let s = "hello, WORLD"
let r = /world/i
console.log(s.search(r))
// 输出结果: 7
// 不区分大小写 -
replace()方法可以替换匹配的字符串或正则表达式为给定的字符串, 并返回一个新的字符串
let s = "hello, WORLD"
let r = /world/i
s = s.replace(r,"Vanadium")
console.log(s)
// 输出结果: hello, Vanadium
修饰符
修饰符 | 描述 |
---|---|
i | 不区分大小写 |
g | 全局匹配 |
m | 多行匹配 |
模式
-
字符范围
表达式 描述 [abc] 查找字符 [0-9] 查找数字 (x|y|z) 查找|分隔的字符 -
元字符(转义字符)
元字符 描述 \d 匹配数字 \s 匹配空白字符 \b 匹配单词边界 \uxxxx 匹配十六进制数xxxx匹配的Unicode字符 -
量词
量词 描述 n+ 匹配包含一个或多个n的字符串 n* 匹配包含零个或多个n的字符串 n? 匹配包含零个或一个n的字符串
RegExp对象
在js中, 正则表达式的对象类型是RegExp
let r = /WORLD/g |
- test()用于检测某个字符串是否匹配给定的正则表达式
let r = /V/i
let s = "Vanadium"
let flag = r.test(s)
console.log(flag)
// 输出结果: true - exec()用于检索所有匹配的结果, 返回一个数组
let s = "vanadium, vagrant";
let r = /(v)/g;
console.log(r.exec(s));
// 输出结果: (2) ['v', 'v', index: 0, input: 'vanadium, vagrant', groups: undefined]
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Vanadium的小屋!