字符串常用方法
获取字符串长度:length
获取字符串指定位置的值:charAt()方法获取到的是指定位置的字符
查询是否包含某字符:indexOf lastIndexOf includes search
字符串拼接:除了使用+号 应该使用concat
字符串分割成数组:split
截取字符串:substr()substring()slice()
字符串大小写写转换:toLowerCase转小写 toUpperCase转大写
字符串转数字:parseInt转整数 parseFloat转小数
原型链
造函数 实例化对象和原型对象的关系
构造函数 用 new 访问 实例化对象
实例化对象 用 __proto__ 访问 原型对象
实例化对象 用 constructor 构造函数
原型对象 用 constructor 访问 构造函数
构造函数 用 prototype 访问 原型对象
Object原型对象 用 __proto__ 访问 Null
Object 构造函数 用 prototype object 访问 原型对象
object原型对象 用 constructor 访问 Object原型对象
原型对象 用 __proto_ 访问 object原型对象
闭包
内部函数可以访问外部函数的值 该值会长期存储在内存中 因此产生了闭包
闭包是一种保护私有变量的机制 在函数执行时形成私有的作用域 保护里面的私有变量不受外界干扰 形成一个不销毁的栈环境 实现了传递值和功能的调用
优点:避免变量污染全局 变量的叠加使用
缺点:常驻内存 容易造成内存泄漏
递归
程序自我调用 函数自己调用自己 目的就是为处理不确定层级的相同数据结构的数据处理
优点:代码更简洁清晰 可读性很好
缺点:时间和空间消耗比较大 很多计算都是重复的 调用栈可能会溢