前端必须要了解的一些知识 (二)
获取字符串长度 str.length
分割字符串 str.split()
拼接字符串 str1+str2 或 str1.concat(str2)
替换字符串 str.replace(“玩游戏”,”好好学习”)
提取子字符串 str.slice(start, end)或str.substring(start,end)或myStr.substr(start,length)
切换字符串大小写 str.toLowerCase()和str.toUpperCase()
比较字符串 str1.localeCompare(str2)
匹配字符串 str.match(pattern)或pattern.exec(str)或str.search(pattern)
根据位置查字符 str.charAt(index)
根据位置字符Unicode编码 str.charCodeAt(index)
根据字符查位置 str.indexOf(“you”)从左,myStr.lastIndexOf(“you”)从尾 或str.search(‘you’)
原始数据类型转字符串 String(数据) 或利用加号
字符串转原始数据类型 数字Number(”) // 0 布尔Boolean(”) // 0
自己构建属性和方法 String.prototype.属性或方法= function(参数){代码}
----------
箭头函数需要注意的地方
*当要求动态上下文的时候,就不能够使用箭头函数,也就是this的固定化。
1、在使用=>定义函数的时候,this的指向是定义时所在的对象,而不是使用时所在的对象;
2、不能够用作构造函数,这就是说,不能够使用new命令,否则就会抛出一个错误;
3、不能够使用arguments对象;
4、不能使用yield命令;
-------------------------
let和const
*let是更完美的var,不是全局变量,具有块级函数作用域,大多数情况不会发生变量提升。const定义常量值,不能够重新赋值,如果值是一个对象,可以改变对象里边的属性值。
1、let声明的变量具有块级作用域
2、let声明的变量不能通过window.变量名进行访问
3、形如for(let x..)的循环是每次迭代都为x创建新的绑定
依次输出的问题
1:立即执行函数
2:闭包
3:let
--------------------------------
Set数据结构
*es6方法,Set本身是一个构造函数,它类似于数组,但是成员值都是唯一的。
--------------------------------
-------------------------------------
promise 案例较多 。 建议看代码