🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# js 标签:js --- [js参考][1] --- ## 1.js认识 ##### 1. 注释 ``` //单行注释; /* */多行注释; ``` ##### 2. 标识符 ``` 第一个字符任意Unicode字母、美元符号($)和下划线(_)。 第二个字符及后面的字符,还可以用数字。 变量名区分大小写,如:A与a是两个不同变量。 不允许使用js关键字和保留字做变量名。 ``` ##### 3. 变量提升 ``` js先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。 请注意,变量提升只对var命令声明的变量有效,如果一个变量不是用var命令声明的,就不会发生变量提升。 ``` ### 1. 变量 ``` var a,b; //声明多个变量; a //去掉var后delete命令可以删除; ``` ### 3. 浏览器 浏览器核心:渲染引擎、js引擎; | 渲染引擎 | 渲染引擎 | 0 | | ------ | -----: | :----: | | Firefox | Gecko | 0 | | Safari | WebKit | 0 | | Chrome | Blink | 0 | [1]: http://javascript.ruanyifeng.com/ ## 2.js闭包 广义上说:是指一个变量在它自身作用域被使用了,就叫发生了闭包。 粗鲁地理解:闭包就是能够读取其它函数内部变量的函数。 在js中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单粗暴地理解成“定义在一个函数内部的函数”,即一个函数嵌套了另一个函数。 链式作用域,子对象会一级一级地向上寻找所有父对象的变量。 作用: 1.读取函数内部的变量 2.令这些变量的值始终保持在垃圾(内存)回收机制中。 注意事项 函数中的变量都保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。 解决方法是,在退出函数之前,将不使用的局部变量全部删除。闭包会在父函数外部改变父函数内部变量的值。 所以,当你把父函数当作对象使用,把闭包当作它的公用方法,把内部变量当作它的私有属性,不要随便改变父函数内部变量的值。 ## 2.js选择器