菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题:
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指向实例对象)
类和构造函数的关系
概念:构造函数在js'中,可以称为类,
js内置的构造函数有:Array String Number Function Object Date Boolean Error RegExp.......
他们的作用:造出各种各样类型的数据。造:new处理,实例化出来。new出各种实例对象,得到各种类型的数据
如果js内置没有这个构造函数,自己怎么样发明一个?如何自己写出一个构造函数
// 特点:
// 1.构造函数首字母大写
// 2.属性和方法都挂在this上
// 3.没有返回值
// 4.使用new调用
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/)
Powered by Discuz! X3.4