我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

袁瑞 2023-0103

[复制链接]
Yrrrrrrrrrr 发表于 2023-1-6 22:05:19 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、今日学习内容
1.this的指向
        this是一个对象,this.属性名  调用里面的东西
        1.this的七种指向:
                1.全局中的this--window
                2.函数中的this--谁调用,指向谁
                3.对象方法中--谁调用,指向谁
                4.构造函数--实例对象
                5.定时器的回调函数--window
                6.事件处理函数--事件源
                7.箭头函数--上一级,箭头函数没有this,它的this指向的是绑定定义的函数所处的作用域
        2.修改this指向
                1.call() 、 apply(),这两个方法都可以调用函数,在调用函数的同时,可以指定this的指向
                        函数(实参);
                        函数.call(this新的指向对象,参数1,参数2,...)
                        函数.apply(this新的指向对象,[实参1,实参2,...]);
                2.bind()
                        把函数的this绑定到一个目标对象上,然后返回一个新函数
                        后续只需要调用新函数,新函数的this永远指向了绑定的目标对象
                        已经使用过bind修改this指向的新的函数不能再次使用bind修改this指向,原始函数可以多次使用bind修改this指向
2.数据类型的分类
        数据类型的分类
                ES5--2014年
                        基本:string 、number、undefined、null、boolean
                        引用:object、function、array
                ES6--2015年
                        基本:string 、number、undefined、null、boolean、symbol(独一无二的值)
                        引用:object
                ES11--2020年
                        bigInt(科学计算)
        数据类型的内存分配
                基本:栈
                引用:数据存放在堆中,栈中存放的是它在堆中的地址,指向堆中的数据
        变量的复制
                基本:传递的是值的拷贝
                引用:传递的是地址的拷贝
        传递参数
                基本:传递的是值的拷贝
                引用:传递的是地址的拷贝
3.深浅拷贝
        1.为什么要拷贝?
                如果是引用类型,直接复制,两个对象会共享一份数据,只要修改其中的一个对象,就会对另外一个对象造成影响
        2.深浅拷贝
                1.浅拷贝:只会拷贝对象的一层
                        使用for in对对象进行遍历
                        使用Object.assign()方法
                2.深拷贝:每一层都进行拷贝
                        使用lodash进行完美拷贝
4.变量的类型检测
        typeof:主要用于检测基本类型
        instanceof:主要用于检测引用类型
        Object.prototype.toString.call(变量/实例对象)

回复

使用道具 举报

关注0

粉丝0

帖子27

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

客服电话:18009298968

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

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

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