什么是JS
JS是一种具有函数优先的轻量级,解释型或即时编译型的编程语言
JS由三部分构成:
- ECMAScript,js语言核心部分,其作用是描述了该语言的语法和基本对象
- 文档对象模型(DOM),网页文档操作标准
- 浏览器对象模型(BOM),客户端和浏览器窗口操作基础
各司其责:
HTML,CSS,JavaScript职能分离,避免不必要的JS直接操作样式,这是做前端工程师要迈出的第一步;
组件封装:
做前端更多的时候是跟UI打交道,跟UI打交道我们需要把UI的一些组件封装起来使用;
过程抽象:
处理UI交互的细节,达到过程抽象可以使代码提高可扩展性。
this
this 是 JS 中一个比较复杂的概念。它表示当前函数的上下文对象。在全局作用域中,this 指向 window 对象。在函数中,this 的值取决于函数的调用方式。如果是作为对象的方法调用,this 指向对象本身,如果是普通函数调用,this 指向全局对象。如果使用 call、apply 或 bind 方法,可以改变函数的上下文对象。
JS的进阶知识点:
闭包:
概念:闭包(closure)指有权访问另一个函数作用域中变量的函数
作用:延伸变量的作用范围
如何调试闭包:
- 打开浏览器,按 F12 键启动 chrome 调试工具;
- 设置断点;
- 找到 Scope 选项(Scope 作用域的意思);
- 当我们重新刷新页面,会进入断点调试,按下一步直到运行到如下界面,Scope 里面会有两个参数(global 全局作用域、local 局部作用域);
- 当执行到 fn2() 时,Scope 里面会多一个 Closure 参数 ,这就表明产生了闭包。
通常,如果引用闭包的函数是一个全局变量,那么闭包会一直存在直到页面关闭;但如果这个用包以后不再使用的话,就会造成内存泄漏。
如果引用闭包的函数是个局部变量,等函数销毁后,在下次 Javascript 引擎执行垃圾回收时,判断闭包这块内容如果已经不再被使用了,那么JavaScript 引擎的垃圾回收器就会回收这块内存。
总结:
JS 是一门非常重要的编程语言,在前端和后端开发中都扮演着重要的角色。深入理解 JS 对于开发人员来说是非常重要的,掌握相关知识可以让开发人员更加熟练地使用 JS 进行开发。