1 闭包的概念 在项目中是如何使用的 闭包的优缺点
概念 : 大函数里面嵌套小函数 小函数可以使用大函数的变量 就形成了闭包(作用域的产物)
条件 :1 必须有二个函数 并且是嵌套关系
2 在全局中必须接受返回值
闭包产生的原因 :首先js最大的缺点就是没有类 尤其是es5 变量和函数都使用在相同空间 就会照成函数和变 量重名 这样就会产生全局污染 然而闭包就能产生密闭空间 形成封闭的空间 这样就不会造成变量和函数污染
优点 :1 保证内容更加封闭 命名更加安全
2 形成了封闭空间 更容易模块化开发
3 全局可以操作局部变量
4 数据持久化延长了数据的生命周期
2 原型的概念(prototype)
概念 :简单来说 就是我们创建的每一个函数都会自带一个prototype属性 这个属性会指向一个对象 这个对象称为原型对象·
优点 :1 在内存中节省资源,提高系统性能
举例:这是一个用原型构造的数组方法,将求和的sum方法挂在原型上,可以使这个方法被重复使用,当然,重点是节省内存资源
2 优先级
原型的优先级类似于CSS中的优先级,没有使用原型的构造函数,就好比CSS中的行内样式,优先级高,而与原型挂钩的属性和方法 ,就像是style的内联样式,优先级低于行内样式。所以在调用同一种方法名的时候,系统会优先调用挂在原型上的方法!