我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

2022-11-24 王嘉乐

[复制链接]
yousay! 发表于 2022-11-24 21:25:25 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、今日学习内容
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指向实例对象)



类和构造函数的关系
  • 概念:构造函数在js'中,可以称为类,
  • js内置的构造函数有:Array String Number Function Object Date Boolean Error RegExp.......
  • 他们的作用:造出各种各样类型的数据。造:new处理,实例化出来。new出各种实例对象,得到各种类型的数据
  • 如果js内置没有这个构造函数,自己怎么样发明一个?如何自己写出一个构造函数

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


回复

使用道具 举报

关注0

粉丝0

帖子46

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注C++菁英教育

客服电话:18009298968

客服时间:9:00-21:00

猩码学苑 - 专注C++开发菁英教育!( 陕ICP备2025058934号-1 )

版权所有 © 陕西菁英数字科技有限公司 2023-2026