当前位置: 首页 > news >正文

好创意网站有哪些方面建设母婴网站的总结

好创意网站有哪些方面,建设母婴网站的总结,网络服务代码1001,什么网站个人可以建设2022年李立超老师最新JavaScript基础主要内容包括: JS基本语法、变量、数据类型#xff08;原始值和类型转换等#xff09;、运算符、流程控制语句、对象、 函数#xff08;箭头函数、作用域、作用域链、高阶函数、闭包、递归等#xff09;、 面向对象#xff08;类、属性… 2022年李立超老师最新JavaScript基础主要内容包括: JS基本语法、变量、数据类型原始值和类型转换等、运算符、流程控制语句、对象、 函数箭头函数、作用域、作用域链、高阶函数、闭包、递归等、 面向对象类、属性、方法、构造函数、原型、原型链、旧类等、 数组创建、遍历、方法、排序等、 内建对象Map、Set、Math、Date、RegExp、JSON等。 基础语法 变量和标识符 1.JS严格区分大小写 2.变量中并不存储任何值而是存储值的内存地址(变量名存储数据的内存地址存在栈中,数据存在堆中) 3.在JS中使用const声明常量常量只能赋值一次重复赋值会报错;在JS中除了常规的常量外有一些对象类型的数据我们也会声明为常量 4.标识符命名规范: 1. 标识符只能含有字母、数字、下划线、$且不能以数字开头 2. 标识符不能是JS中的关键字和保留字也不建议使用内置的函数或类名作为变量名 3. 命名规范- 通常会使用小驼峰命名法- 首字母小写每个单词开头大写- maxlength -- maxLength- borderleftwidth -- borderLeftWidth- 类名会使用大驼峰命名法- 首字母大写每个单词开头大写- maxlength -- MaxLength- 常量的字母会全部大写- MAX_LENGTH数据类型 数值Number- 在JS中所有的整数和浮点数都是Number类型- JS中的数值并不是无限大的当数值超过一定范围后会显示近似值- Infinity 是一个特殊的数值表示无穷- 所以在JS中进行一些精度比较高的运算时要十分注意- NaN 也是一个特殊的数值表示非法的数值大整数BigInt- 大整数用来表示一些比较大的整数- 大整数使用n结尾它可以表示的数字范围是无限大 其他进制的数字- 二进制 0b- 八进制 0o- 十六进制 0x typeof 运算符- typeof用来检查不同的值的类型- 它会根据不同的值返回不同的结果 字符串String- 在JS中使用单引号或双引号来表示字符串- 转义字符 \\ -- \ -- \\ -- \\\t -- 制表符\n -- 换行- 模板字符串- 使用反单引号 来表示模板字符串- 模板字符串中可以嵌入变量- 使用typeof检查一个字符串时会返回 string 布尔值Boolean- 布尔值主要用来进行逻辑判断- 布尔值只有两个true 和 false- 使用typeof检查一个布尔值时会返回 boolean 空值 Null- 空值用来表示空对象- 空值只有一个 null- 使用typeof检查一个空值时会返回object- 使用typeof无法检查空值 未定义Undefined- 当声明一个变量而没有赋值时它的值就是Undefined- Undefined类型的值只有一个就是 undefined- 使用typeof检查一个Undefined类型的值时会返回 undefined 符号Symbol- 用来创建一个唯一的标识 - 使用typeof检查符号时会返回 symbolJS中原始值一共有七种1.Number2.BigInt3.String4.Boolean5.Null6.Undefined7.Symbol 七种原始值是构成各种数据的基石原始值在JS中是不可变类型一旦创建就不能修改类型转换指将一种数据类型转换为其他类型将其他类型转换为字符串、数值和布尔值转换为字符串1.调用toString()方法将其他类型转换为字符串- 调用xxx的yyy方法-- xxx.yyy()- 由于null和undefined中没有toString()所以对这两个东西调用toString()时会报错2.调用String()函数将其他类型转换为字符串- 调用xxx函数-- xxx()- 原理对于拥有toString()方法的值调用String()函数时实际上就是在调用toString()方法对于null则直接转换为null对于undefined直接转换为undefined 将其他的数据类型转换为数值1.使用Number()函数来将其他类型转换为数值转换的情况- 字符串- 如果字符串是一个合法的数字则会自动转换为对应的数字- 如果字符串不是合法数字则转换为NaN- 如果字符串是空串或纯空格的字符串则转换为0- 布尔值- true转换为1false转换为0- null 转换为 0- undefined 转换为 NaN2.专门用来将字符串转换为数值的两个方法 parseInt() —— 将一个字符串转换为一个整数- 解析时会自左向右读取一个字符串直到读取到字符串中所有的有效的整数- 也可以使用parseInt()来对一个数字进行取整parseFloat() —— 将一个字符串转换为浮点数 - 解析时会自左向右读取一个字符串直到读取到字符串中所有的有效的小数 使用Boolean()函数来将其他类型转换为布尔值- 转换的情况数字- 0 和 NaN 转换为false- 其余是true字符串- 空串 转换为 false- 其余是truenull和undefined 都转换为 false对象对象会转换为true- 所有表示空性的没有的错误的值都会转换为false0、NaN、空串、null、undefined、false运算符 运算符操作符- 运算符可以用来对一个或多个操作数值进行运算- 算术运算符 加法运算符- 减法运算符* 乘法运算符/ 除法运算符** 幂运算% 模运算两个数相除取余数- 注意算术运算时除了字符串的加法其他运算的操作数是非数值时都会转换为数值然后再运算(自动类型转换)当任意一个值和字符串做加法运算时它会先将其他值转换为字符串然后再做拼串的操作可以利用这一特点来完成类型转换 可以通过为任意类型 一个空串的形式来将其转换为字符串 其原理和String()函数相同但使用起来更加简洁 赋值运算符用来将一个值赋值给一个变量- 将符号右侧的值赋值给左侧的变量??- 空赋值- 只有当变量的值为null或undefined时才会对变量进行赋值- a n 等价于 a a n-- a - n 等价于 a a - n*- a * n 等价于 a a * n/- a / n 等价于 a a / n%- a % n 等价于 a a % n**- a ** n 等价于 a a ** n ! 逻辑非- ! 可以用来对一个值进行非运算- 它可以对一个布尔值进行取反操作true -- falsefalse -- true- 如果对一个非布尔值进行取反它会先将其转换为布尔值然后再取反可以利用这个特点将其他类型转换为布尔值- 类型转换转换为字符串显式转换String()隐式转换 转换为数值显式转换Number()隐式转换转换为布尔值显式转换Boolean()隐式转换!! 逻辑与- 可以对两个值进行与运算- 当左右都为true时则返回true否则返回false- 与运算是短路的与如果第一个值为false则不看第二个值- 与运算是找false的如果找到false则直接返回没有false才会返回true- 对于非布尔值进行与运算它会转换为布尔值然后运算但是最终会返回原值- 如果第一个值为false则直接返回第一个值如果第一个值为true则返回第二个值|| 逻辑或- 可以对两个值进行或运算- 当||左右有true时则返回true否则返回false- 或运算也是短路的或如果第一个值为true则不看第二个值- 或运算是找true如果找到true则直接返回没有true才会返回false- 对于非布尔值或运算它会转换为布尔值然后运算但是最终会返回原值- 如果第一个值为true则返回第一个如果第一个值为false则返回第二个 - 相等运算符用来比较两个值是否相等- 使用相等运算符比较两个不同类型的值时它会将其转换为相同的类型通常转换为数值然后再比较类型转换后值相同也会返回true- null和undefined进行相等比较时会返回true- NaN不和任何值相等包括它自身 - 全等运算符用来比较两个值是否全等- 它不会进行自动的类型转换如果两个值的类型不同直接返回false- null和undefined进行全等比较时会返回false!- 不等用来检查两个值是否不相等- 会自动的进行类型转换 !- 不全等比较两个值是否不全等- 不和自动的类型转换流程控制 使用 {} 来创建代码块代码块可以用来对代码进行分组同一个代码中的代码就是同一组代码一个代码块中的代码要么都执行要么都不执行let 和 var- 在JS中使用let声明的变量具有块作用域在代码块中声明的变量无法在代码块的外部访问- 使用var声明的变量不具有块作用域对象 枚举属性指将对象中的所有的属性全部获取for-in语句- 语法for(let propName in 对象){语句...}- for-in的循环体会执行多次有几个属性就会执行几次每次执行时都会将一个属性名赋值给我们所定义的变量- 注意并不是所有的属性都可以枚举比如 使用符号添加的属性 对象属于可变类型- 对象创建完成后可以任意的添加删除修改对象中的属性- 注意- 当对两个对象进行相等或全等比较时比较的是对象的内存地址- 如果有两个变量同时指向一个对象通过一个变量修改对象时对另外一个变量也会产生影响修改对象- 修改对象时如果有其他变量指向该对象 则所有指向该对象的变量都会受到影响修改变量- 修改变量时只会影响当前的变量在使用变量存储对象时很容易因为改变变量指向的对象提高代码的复杂度,所以通常情况下声明存储对象的变量时会使用const注意const只是禁止变量被重新赋值对对象的修改没有任何影响方法method- 当一个对象的属性指向一个函数那么我们就称这个函数是该对象的方法调用函数就称为调用对象的方法函数 函数的定义方式1.函数声明function 函数名([参数]){语句...}2.函数表达式const 变量 function([参数]){语句...}3.箭头函数([参数]) {语句...} 在函数中可以通过return关键字来指定函数的返回值,返回值就是函数的执行结果函数调用完毕返回值便会作为结果返回任何值都可以作为返回值使用包括对象和函数之类如果return后不跟任何值则相当于返回undefined如果不写return那么函数的返回值依然是undefinedreturn一执行函数立即结束箭头函数的返回值可以直接写在箭头后,如果直接在箭头后设置对象字面量为返回值时对象字面量必须使用()括起来 this- 函数在执行时JS解析器每次都会传递进一个隐含的参数,这个参数就叫做 this- this会指向一个对象,所指向的对象会根据函数调用方式的不同而不同1.以函数形式调用时this指向的是window(相当于window对象调用该函数)2.以方法的形式调用时this指向的是调用方法的对象(相当于该对象调用该方法)- 通过this可以在方法中引用调用方法的对象 箭头函数([参数]) 返回值例子无参箭头函数() 返回值一个参数的a 返回值多个参数的(a, b) 返回值只有一个语句的函数() 返回值只返回一个对象的函数() ({...})有多行语句的函数() {.... return 返回值} 箭头函数没有自己的this它的this有外层作用域决定,箭头函数的this和它的调用方式无关(如果函数定义在外层,this就是window,与谁调用无关)面向对象 /* 对象中存储属性的区域实际有两个1. 对象自身- 直接通过对象所添加的属性位于对象自身中- 在类中通过 x y 的形式添加的属性位于对象自身中2. 原型对象prototype- 对象中还有一些内容会存储到其他的对象里原型对象- 在对象中会有一个属性用来存储原型对象这个属性叫做__proto__- 原型对象也负责为对象存储属性当我们访问对象中的属性时会优先访问对象自身的属性对象自身不包含该属性时才会去原型对象中寻找- 会添加到原型对象中的情况1. 在类中通过xxx(){}方式添加的方法位于原型中2. 主动向原型中添加的属性或方法*/class Person {name 孙悟空age 18// 原型sayHello() {console.log(Hello我是, this.name)} }/* 访问一个对象的原型对象对象.__proto__Object.getPrototypeOf(对象)原型对象中的数据1. 对象中的数据属性、方法等2. constructor 对象的构造函数注意原型对象也有原型这样就构成了一条原型链根据对象的复杂程度不同原型链的长度也不同p对象的原型链p对象 -- 原型 -- 原型 -- nullobj对象的原型链obj对象 -- 原型 -- null原型链- 读取对象属性时会优先对象自身属性如果对象中有则使用没有则去对象的原型中寻找如果原型中有则使用没有则去原型的原型中寻找直到找到Object对象的原型Object的原型没有原型为null如果依然没有找到则返回undefined- 作用域链是找变量的链找不到会报错- 原型链是找属性的链找不到会返回undefined所有的同类型对象它们的原型对象都是同一个也就意味着同类型对象的原型链是一样的原型的作用原型就相当于是一个公共的区域可以被所有该类实例访问可以将该类实例中所有的公共属性方法统一存储到原型中这样我们只需要创建一个属性即可被所有实例访问JS中继承就是通过原型来实现的,当继承时子类的原型就是一个父类的实例在对象中有些值是对象独有的像属性nameagegender每个对象都应该有自己值但是有些值对于每个对象来说都是一样的像各种方法对于一样的值没必要重复的创建大部分情况下我们是不需要修改原型对象注意千万不要通过类的实例去修改原型1. 通过一个对象影响所有同类对象这么做不合适2. 修改原型先得创建实例麻烦3. 危险处理通过__proto__能访问对象的原型外还可以通过类的prototype属性来访问实例的原型修改原型时最好通过通过类去修改好处1. 一修改就是修改所有实例的原型2. 无需创建实例即可完成对类的修改原则1. 原型尽量不要手动改2. 要改也不要通过实例对象去改3. 通过 类.prototype 属性去修改4. 最好不要直接给prototype去赋值*/const obj new Object()// console.log(obj.__proto__)// console.log(Object.prototype)/* instanceof 用来检查一个对象是否是一个类的实例- instanceof检查的是对象的原型链上是否有该类实例只要原型链上有该类实例就会返回true- dog - Animal的实例 - Object实例 - Object原型- Object是所有对象的原型所以任何和对象和Object进行instanceof运算都会返回truein- 使用in运算符检查属性时无论属性在对象自身还是在原型中都会返回true对象.hasOwnProperty(属性名) (不推荐使用)- 用来检查一个对象的自身是否含有某个属性Object.hasOwn(对象, 属性名) - 用来检查一个对象的自身是否含有某个属性*/数组 https://www.jb51.net/article/269686.htm for-of语句可以用来遍历可迭代对象语法 for(变量 of 可迭代的对象){语句...}执行流程 for-of的循环体会执行多次数组中有几个元素就会执行几次每次执行时都会将一个元素赋值给变量例:for(let value of hello){console.log(value)} Array.isArray()- 用来检查一个对象是否是数组 at()- 可以根据索引获取数组中的指定元素- at可以接收负索引作为参数 concat()- 用来连接两个或多个数组- 非破坏性方法不会影响原数组而是返回一个新的数组 indexOf()- 获取元素在数组中第一次出现的索引- 参数1. 要查询的元素2. 查询的其实位置 lastIndexOf()- 获取元素在数组中最后一次出现的位置- 返回值找到了则返回元素的索引没有找到返回-1 join()- 将一个数组中的元素连接为一个字符串- [孙悟空, 猪八戒, 沙和尚, 唐僧, 沙和尚] - 孙悟空,猪八戒,沙和尚,唐僧,沙和尚- 参数指定一个字符串作为连接符 slice()- 用来截取数组非破坏性方法 - 参数1. 截取的起始位置包括该位置2. 截取的结束位置不包括该位置 - 第二个参数可以省略不写如果省略则会一直截取到最后- 索引可以是负值如果将两个参数全都省略则可以对数组进行浅拷贝浅复制 // 如何去复制一个对象 复制必须要产生新的对象: 当调用slice时会产生一个新的数组对象从而完成对数组的复制浅拷贝shallow copy- 通常对对象的拷贝都是浅拷贝- 浅拷贝顾名思义只对对象的浅层进行复制只复制一层- 如果对象中存储的数据是原始值那么拷贝的深浅是不重要- 浅拷贝只会对对象本身进行复制不会复制对象中的属性或元素const arr2 arr.slice() // 浅拷贝 深拷贝deep copy- 深拷贝指不仅复制对象本身还复制对象中的属性和元素- 因为性能问题通常情况不太使用深拷贝const arr3 structuredClone(arr) // 专门用来深拷贝的方法 ... (展开运算符)- 可以将一个数组中的元素展开到另一个数组中或者作为函数的参数传递- 通过它也可以对数组进行浅复制const arr3 [...arr] // 浅拷贝 对象的复制- Object.assign(目标对象, 被复制的对象)- 将被复制对象中的属性复制到目标对象里并将目标对象返回- 也可以使用展开运算符对对象进行复制const obj2 Object.assign({}, obj)const obj2 {...obj} push()- 向数组的末尾添加一个或多个元素并返回新的长度 pop()- 删除并返回数组的最后一个元素 unshift()- 向数组的开头添加一个或多个元素并返回新的长度 shift()- 删除并返回数组的第一个元素 splice()- 可以删除、插入、替换数组中的元素- 参数1. 删除的起始位置2. 删除的数量3. 要插入的元素- 返回值- 返回被删除的元素 reverse()- 反转数组 数组去重for(let i0; iarr.length; i){const index arr.indexOf(arr[i], i1)if(index ! -1){// 出现重复内容arr.splice(index, 1)i--}} 冒泡排序function sort(array) {const arr [...array]for (let i 0; i arr.length; i) {for (let j i 1; j arr.length; j) {if (arr[i] arr[j]) {// 交换两个元素的位置let temp arr[i]arr[i] arr[j]arr[j] temp}}}return arr} sort()- sort用来对数组进行排序会对改变原数组- sort默认会将数组升序排列注意sort默认会按照Unicode编码进行排序所以如果直接通过sort对数字进行排序可能会得到一个不正确的结果- 参数- 可以传递一个回调函数作为参数通过回调函数来指定排序规则(a, b) a - b 升序排列(a, b) b - a 降序排列 forEach()- 用来遍历数组- 它需要一个回调函数作为参数这个回调函数会被调用多次数组中有几个元素回调函数就会调用几次每次调用都会将数组中的数据作为参数传递- 回调函数中有三个参数element 当前的元素index 当前元素的索引array 被遍历的数组filter()- 将数组中符合条件的元素保存到一个新数组中返回- 需要一个回调函数作为参数会为每一个元素去调用回调函数并根据返回值来决定是否将元素添加到新数组中- 非破坏性方法不会影响原数组map()- 根据当前数组生成一个新数组- 需要一个回调函数作为参数回调函数的返回值会成为新数组中的元素- 非破坏性方法不会影响原数组reduce()- 可以用来将一个数组中的所有元素整合为一个值- 参数1. 回调函数通过回调函数来指定合并的规则2. 可选参数初始值闭包闭包就是能访问到外部函数作用域中变量的函数 可以利用函数来隐藏不希望被外部访问到的变量 什么时候使用当我们需要隐藏一些不希望被别人访问的内容时就可以使用闭包 构成闭包的要件1. 函数的嵌套2. 内部函数要引用外部函数中的变量3. 内部函数要作为返回值返回function outer(){let num 0 // 位于函数作用域中return () {numconsole.log(num)}}const newFn outer()newFn() 根据函数调用方式的不同this的值也不同1. 以函数形式调用this是window2. 以方法形式调用this是调用方法的对象3. 构造函数中this是新建的对象4. 箭头函数没有自己的this由外层作用域决定5. 通过call和apply调用的函数它们的第一个参数就是函数的this 调用函数除了通过 函数() 这种形式外还可以通过其他的方式来调用函数比如我们可以通过调用函数的call()和apply()来个方法来调用函数函数.call()函数.apply()- call 和 apply除了可以调用函数还可以用来指定函数中的this- call和apply的第一个参数将会成为函数的this- 通过call方法调用函数函数的实参直接在第一个参数后一个一个的列出来- 通过apply方法调用函数函数的实参需要通过一个数组传递 根据函数调用方式的不同this的值也不同1. 以函数形式调用this是window2. 以方法形式调用this是调用方法的对象3. 构造函数中this是新建的对象4. 箭头函数没有自己的this由外层作用域决定5. 通过call和apply调用的函数它们的第一个参数就是函数的this6. 通过bind返回的函数this由bind第一个参数决定无法修改bind() 是函数的方法可以用来创建一个新的函数- bind可以为新函数绑定this- bind可以为新函数绑定参数箭头函数没有自身的this它的this由外层作用域决定也无法通过call apply 和 bind修改它的this 箭头函数中没有arguments内建对象 1.解构赋值:数组的解构 let [a,b,c] arr对象的解构赋值 let {a,b,c} obj 对象的序列化- JS中的对象使用时都是存在于计算机的内存中的- 序列化指将对象转换为一个可以存储的格式在JS中对象的序列化通常是将一个对象转换为字符串JSON字符串- 序列化的用途对象转换为字符串有什么用- 对象转换为字符串后可以将字符串在不同的语言之间进行传递甚至人可以直接对字符串进行读写操作使得JS对象可以不同的语言之间传递- 用途1. 作为数据交换的格式2. 用来编写配置文字- 如何进行序列化- 在JS中有一个工具类 JSON JavaScript Object Notation JS对象表示法- JS对象序列化后会转换为一个字符串这个字符串我们称其为JSON字符串 - 也可以手动的编写JSON字符串在很多程序的配置文件就是使用JSON编写的- 编写JSON的注意事项1. JSON字符串有两种类型JSON对象 {}JSON数组 []2. JSON字符串的属性名必须使用双引号引起来3. JSON中可以使用的属性值元素- 数字Number- 字符串String 必须使用双引号- 布尔值Boolean- 空值Null- 对象Object {}- 数组Array []4. JSON的格式和JS对象的格式基本上一致的注意JSON字符串如果属性是最后一个则不要再加,const str JSON.stringify(obj) //JSON.stringify() 可以将一个对象转换为JSON字符串const obj2 JSON.parse(str) // JSON.parse() 可以将一个JSON格式的字符串转换为JS对象 Map- Map用来存储键值对结构的数据key-value- Object中存储的数据就可以认为是一种键值对结构- Map和Object的主要区别- Object中的属性名只能是字符串或符号如果传递了一个其他类型的属性名JS解释器会自动将其转换为字符串- Map中任何类型的值都可以称为数据的key 创建new Map() 属性和方法map.size() 获取map中键值对的数量map.set(key, value) 向map中添加键值对map.get(key) 根据key获取值 map.delete(key) 删除指定数据map.has(key) 检查map中是否包含指定键map.clear() 删除全部的键值对 // 将map转换为数组const arr Array.from(map) // [[name,孙悟空],[age,18]]const arr [...map]map.keys() - 获取map的所有的keymap.values() - 获取map的所有的value// 遍历mapfor (const [key, value] of map) {// const [key, value] entryconsole.log(key, value)}map.forEach((key, value){console.log(key, value)}) Set- Set用来创建一个集合- 它的功能和数组类似不同点在于Set中不能存储重复的数据- 使用方式创建- new Set()- new Set([...])方法size 获取数量add() 添加元素has() 检查元素delete() 删除元素 Math- Math一个工具类- Math中为我们提供了数学运算相关的一些常量和方法- 常量Math.PI 圆周率- 方法Math.abs() 求一个数的绝对值Math.min() 求多个值中的最小值Math.max() 求多个值中的最大值Math.pow() 求x的y次幂Math.sqrt() 求一个数的平方根Math.floor() 向下取整Math.ceil() 向上取整Math.round() 四舍五入取整Math.trunc() 直接去除小数位Math.random() 生成一个0-1之间的随机数生成0-5之间的随机数Math.random() -- 0 - 1生成 0-x之间的随机数Math.round(Math.random() * x)Math.floor(Math.random() * (x 1))生成 x-y 之间的随机数Math.round(Math.random() * (y-x) x) Date- 在JS中所有的和时间相关的数据都由Date对象来表示- 对象的方法getFullYear() 获取4位年份getMonth() 返当前日期的月份0-11getDate() 返回当前是几日getDay() 返回当前日期是周几0-6 0表示周日......getTime() 返回当前日期对象的时间戳时间戳自1970年1月1日0时0分0秒到当前时间所经历的毫秒数计算机底层存储时间时使用都是时间戳Date.now() 获取当前的时间戳 Date- 在JS中所有的和时间相关的数据都由Date对象来表示- 对象的方法getFullYear() 获取4位年份getMonth() 返当前日期的月份0-11getDate() 返回当前是几日getDay() 返回当前日期是周几0-6 0表示周日......getTime() 返回当前日期对象的时间戳时间戳自1970年1月1日0时0分0秒到当前时间所经历的毫秒数计算机底层存储时间时使用都是时间戳Date.now() 获取当前的时间戳 toLocaleDateString() // 将日期转换为本地的字符串 toLocaleTimeString() // 将时间转换为本地的字符串 toLocaleString() // 可以将一个日期转换为本地时间格式的字符串- 参数1. 描述语言和国家信息的字符串zh-CN 中文中国zh-HK 中文香港en-US 英文美国2. 需要一个对象作为参数在对象中可以通过对象的属性来对日期的格式进行配置dateStyle 日期的风格timeStyle 时间的风格fulllongmediumshorthour12 是否采用12小时值truefalseweekday 星期的显示方式longshortnarrowyearnumeric2-digit 字符串- 字符串其本质就是一个字符数组- hello -- [h, e, l, l, o]- 字符串的很多方法都和数组是非常类似的- 属性和方法length 获取字符串的长度字符串[索引] 获取指定位置的字符str.at() 实验方法- 根据索引获取字符可以接受负索引str.charAt()- 根据索引获取字符str.concat()- 用来连接两个或多个字符串str.includes()- 用来检查字符串中是否包含某个内容有返回true没有返回falsestr.indexOf()str.lastIndexOf()- 查询字符串中是否包含某个内容str.startsWith()- 检查一个字符串是否以指定内容开头str.endsWith()- 检查一个字符串是否以指定内容结尾str.padStart()str.padEnd()- 通过添加指定的内容使字符串保持某个长度str.replace()- 使用一个新字符串替换一个指定内容str.replaceAll() - 使用一个新字符串替换所有指定内容str.slice()- 对字符串进行切片str.substring()- 截取字符串str.split()- 用来将一个字符串拆分为一个数组str.toLowerCase()- 将字符串转换为小写str.toUpperCase()- 将字符串转换为大写str.trim()- 去除前后空格str.trimStart()- 去除开始空格str.trimEnd()- 去除结束空格 正则表达式- 正则表达式用来定义一个规则- 通过这个规则计算机可以检查一个字符串是否符合规则或者将字符串中符合规则的内容提取出来- 正则表达式也是JS中的一个对象所以要使用正则表达式需要先创建正则表达式的对象 new RegExp() 可以接收两个参数字符串 1.正则表达式 2.匹配模式 et reg new RegExp(a, i) 使用字面量来创建正则表达式/正则/匹配模式 reg /a/i 通过正则表达式检查一个字符串是否符合规则 reg.test(b)1.在正则表达式中大部分字符都可以直接写2.| 在正则表达式中表示或3.[] 表示或字符集[a-z] 任意的小写字母[A-Z] 任意的大写字母[a-zA-Z] 任意的字母[0-9]任意数字4.[^] 表示除了[^x] 除了x5. . 表示除了换行外的任意字符6. 在正则表达式中使用\作为转义字符7. 其他的字符集\w 任意的单词字符 [A-Za-z0-9_]\W 除了单词字符 [^A-Za-z0-9_]\d 任意数字 [0-9]\D 除了数字 [^0-9]\s 空格\S 除了空格\b 单词边界\B 除了单词边界8. 开头和结尾^ 表示字符串的开头$ 表示字符串的结尾 量词{m} 正好m个{m,} 至少m个{m,n} m-n个 一个以上相当于{1,}* 任意数量的a? 0-1次 {0,1} re.exec()- 获取字符串中符合正则表达式的内容 split()- 可以根据正则表达式来对一个字符串进行拆分 search()- 可以去搜索符合正则表达式的内容第一次在字符串中出现的位置 replace()- 根据正则表达式替换字符串中的指定内容 match()- 根据正则表达式去匹配字符串中符合要求的内容 matchAll()- 根据正则表达式去匹配字符串中符合要求的内容(必须设置g 全局匹配)- 它返回的是一个迭代器 字符串的正则表达式方法: split()- 可以根据正则表达式来对一个字符串进行拆分 search()- 可以去搜索符合正则表达式的内容第一次在字符串中出现的位置 replace()- 根据正则表达式替换字符串中的指定内容 match()- 根据正则表达式去匹配字符串中符合要求的内容 matchAll()- 根据正则表达式去匹配字符串中符合要求的内容(必须设置g 全局匹配)- 它返回的是一个迭代器
http://www.zqtcl.cn/news/940908/

相关文章:

  • 做汽车配件出口用什么网站好些微信朋友圈营销技巧
  • 怎样建设传奇网站空间什么做电子书下载网站
  • 自己怎么做dj 视频网站网站模板制作教程视频
  • 苏州瑞熙网站建设签名图片在线制作
  • 重庆建站模板大全给公司创建网站
  • king cms网站建设上海传媒公司有哪些
  • 优时代网站建设网站建设哪家公司最好
  • 做网站有多难平面设计学徒要学多久
  • 包装网站模板做西式快餐店网站
  • 泉州制作网站软件九歌人工智能诗歌写作网站
  • wordpress安装时失败网站后台seo设置
  • 顺企网吉安网站建设网站设计师岗位职责
  • 佛山市品牌网站建设价格网站设计模板免费
  • 澧县网站建设常用的oa系统办公软件
  • 江门网站推广哪里专业网站显示百度地图
  • 上海微网站网站的营销推广方案及预算
  • 灌南住房建设局网站南京网站开发南京乐识好
  • 万网网站建设步骤公司建设网站能提升什么竞争力
  • 门户网站 页面集成防内涵吧网站源码
  • 二手房发布网站怎么做有哪个网站有免费视频素材
  • 张浦专业做网站纯html5网站
  • qq互联 网站开发北京博洛尼装饰公司
  • 企业网站模板建站广州红盾信息门户网站
  • 做网站都用到哪些软件商品网站建设方案
  • 集美区网站建设下面软件是网页制作平台的是( )
  • 中国建设银行纪念币预约网站做盗版影视网站
  • 网站建设工作年报江苏城乡和住房建设厅网站
  • 免费做网站tk地方门户网站推广方法有那些
  • 查企业年报的网站微商网站如何做
  • 做网站要了解的事情网站地图有什么作用