菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育

标题: 2022-11-24 王嘉乐 [打印本页]

作者: yousay!    时间: 2022-11-24 21:25
标题: 2022-11-24 王嘉乐
一、今日学习内容
1.什么是闭包,闭包的作用?
01-概念:
跨作用域访问变量,形成闭包,闭包是一种作用域的体现
常见的闭包写法是:父函数嵌套子函数,子函数可以访问父函数的变量,把子函数返回或者挂载window上
02-作用:
实现早期的模块化开发,把所有的变量隐藏在内部,对外暴露统一的访问接口
隐藏变量,避免全局污染【ES6自带模块化开发】


闭包的优缺点:优点:隐藏变量,避免全局污染,实现了早期的模块化开发
缺点:一旦形成了闭包,这个变量不会被内存释放,内存开销比较大,会造成内存泄露,所以不建议过多使用闭包
2.箭头函数与一般函数的区别?
箭头函数中没有arguments(重要!)
答:第一点:函数声明有三种方式
01:  // ES5
        f1();   
        // 1. 声明式
        function f1() {
            console.log('f1');
        }


        // 2.表达式
        // f2();
        let f2 = function () {
            console.log('f2');
        }
        // f2();


        // es6:
        // 箭头函数 (形参)=>{js表达式}
        // f3();
        // var f3 = () => {
        let f3 = () => {
            console.log('f3');
        }
声明式的fn();  放在函数体前后都可以打印出结果
表达式和箭头函数的fn();放在函数体前打印不出来结果   控制台显示before事件


第二点:箭头函数可用于  map  函数   倒计时函数   普通的一个参数或者两个参数的函数


第三点:{}中只有一句代码:省略花括号并且同时必须省略return
         2.形参有且只有一个,可以省略()


3.谈谈你对面向对象的理解,它与面向过程的区别是什么?
面向过程POP   按照步骤,挨着走,实现功能,啥都自己搞     不适合大型项目
面向对象OOP  从全局出发,把功能尽可能去封装    要做啥就找啥对象,调用对象的方法,等于自己是管理者   
4.使用new关键字创建对象,中间发生了什么?
答:01. 首先会创建一个空的对象
02. this指向这个实例对象
03. 执行这个构造函数的代码---这里面的代码全都要走一遍
04. 自动返回this(this指向实例对象)



类和构造函数的关系
// 特点:
// 1.构造函数首字母大写
// 2.属性和方法都挂在this上
// 3.没有返回值
// 4.使用new调用







欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/) Powered by Discuz! X3.4