数据类型
值类型(基本类型):字符串(string)、数字(number)、布尔(boolean)、空(null)、未定义(undefined)、唯一标识符(symbol)
引用数据类型:对象(object)、数组(array)、函数(function)
typeof操作符
string:“test”(字符串)
number:123(数字) 、NaN(非数)
boolean:true(布尔)
object:[1,2,3,4][(数组)、{name:“test”}(对象)、Date(日期)、null(空)
function:()=>{}(函数)
undefined:未定义的变量
null和undefined
1、undefined:是所有没有赋值变量的默认值,自动赋值。
2、null:主动释放一个变量引用的对象,表示一个变量不再指向任何对象地址。
3、null和undefined的值相等但是类型不等(null == undefined true null===undefined false )
constructor 属性
用于获取变量对应的构造函数
“John”.constructor // [Function: String]
(3.14).constructor // [Function: Number]
false.constructor // [Function: Boolean]
[1,2,3,4].constructor // [Function: Array]
{name:‘John’, age:34}.constructor // [Function: Object]
new Date().constructor // [Function: Date]
function () {}.constructor // [Function: Function]
null和undefined没有构造函数
正则表达式
/正则表达式主体/修饰符(可选)
修饰符:
i不区分大小写/g全局匹配/m多行匹配
范围字符:
[abc]括号内任意字符/[0-9]0-9的数字/(x|y)任何以|分隔的选项
元字符:
\d查找数字/\s查找空白字符/\b匹配单词边界/\uxxxx以十六进制数 xxxx 规定的 Unicode 字符
量词:
n+匹配任何包含至少一个 n 的字符串。/n*匹配任何包含零个或多个 n 的字符串。/n?匹配任何包含零个或一个 n 的字符串。
^表示开头匹配$结尾匹配 一起使用表示精确匹配
常用的方法:
①字符串方法 str.search()
search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
②正则表达式方法 /e/.test()
test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
exec() 方法用于检索字符串中的正则表达式的匹配。该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
更多元字符
常用正则表达式:
是否有带小数 /^\d+.\d+$ /
是否中文名 /^\d+.\d+$ /
电话号码格式/^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$ /
邮件地址/^\w+@[a-zA-Z0-9]{2,10}(?:.[a-z]{2,4}){1,3}$ /