首页 > 其他分享 >歌谣学前端之类笔记2

歌谣学前端之类笔记2

时间:2023-07-29 21:06:19浏览次数:28  
标签:调用 歌谣 前端 笔记 类中 函数 方法 fn undefined

前言

我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷 微信公众号前端小歌谣

类笔记2

类中的所有代码都会在严格模式下执行 * 严格模式下其中一个特点就是,函数的this不在是window,而是undefined * * 注意: * 在类中方法的this不是固定的 * 以方法形式调用时,this就是当前的实例 * 以函数形式调用,this是undefined * 在开发时,在有些场景下,我们希望方法中的this是固定的,不会因调用方式不同而改变 * 如果遇到上述需求,可以使用箭头函数来定义类中的方法 * 如果类中的方法是以箭头函数定义的,则方法中的this恒为当前实例,不会改变

代码案例

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>类</title>
    <script>
        class MyClass{

            constructor() {
                // this.fn = this.fn.bind(this); 将fn方法的this绑定为当前实例
            }
            /*
            *   类中的所有代码都会在严格模式下执行
            *       严格模式下其中一个特点就是,函数的this不在是window,而是undefined
            *
            *   注意:
            *       在类中方法的this不是固定的
            *           以方法形式调用时,this就是当前的实例
            *           以函数形式调用,this是undefined
            *       在开发时,在有些场景下,我们希望方法中的this是固定的,不会因调用方式不同而改变
            *           如果遇到上述需求,可以使用箭头函数来定义类中的方法
            *           如果类中的方法是以箭头函数定义的,则方法中的this恒为当前实例,不会改变
            *
            * */

            // fn(){
            //     console.log('-->',this);
            // }

            fn = () => {
                console.log('-->',this);
            };

        }

        const mc = new MyClass();


        const test = mc.fn;

        mc.fn(); // mc
        test(); // undefined

        const fn2 = function (){
            console.log(this);
        };

        // fn2();


    </script>
</head>
<body>

</body>
</html>

标签:调用,歌谣,前端,笔记,类中,函数,方法,fn,undefined
From: https://blog.51cto.com/u_14476028/6895125

相关文章

  • 歌谣学前端之继承
    前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷微信公众号前端小歌谣继承代码案例<!DOCTYPEhtm......
  • PyTorch基础知识-新手笔记
    NumPy与TensorTensor为神经网络界的NumPy,与NumPy相似。相同之处:二者均可共享内存,它们之间的转换非常方便和高效。不同之处:NumPy会把ndarray放在CPU中加速。  Tensor会把ndarray放在GPU中加速。PyTorch中的Tensor可以是零维(又称为标量或一个数)、一维、二维及多维的数组。标量(s......
  • 笔记|《面向对象编程技术与方法(C++)》电子工业出版社
    第一章概述C++多态:https://blog.csdn.net/K346K346/article/details/82774937第二章编程基础数据类型枚举:https://www.runoob.com/w3cnote/cpp-enum-intro.html联合:https://www.runoob.com/cprogramming/c-unions.html作用域运算符:c++入门学习篇(1)之::作用域符解析c++条......
  • DP 套 DP 学习笔记
    【例题1】单调栈自动机引自https://www.luogu.com.cn/blog/EternalAlexander/pu-ji-zu-zhuan-ti-sui-bi-1dp-of-dp。对于一个数,你可以进行任意次操作,每次操作可以删去数字相同的连续一段,例如你可以把\(1122331\)变成\(22331\),\(11331\),\(11221\)或者\(112233\)。当然,如......
  • 线程诊断笔记
    CPU占用过高1、top命令查看占用CPU较高的进程2、通过进程ID获取当前进程下线程的CPU占用情况打印进程ID,线程ID,以及占用CPUpsH-eopid,tid,%cpu3、通过jstack命令查询线程占用情况jstack【pid】4、十进制线程ID转换成十六进制并确定占用CPU较高的线程二、程序长时......
  • 复盘笔记
    1知识点1.1开根号、幂运算平方根幂运算1幂运算21.2列表一维列表(数组)的创建a=[0for_inrange(3)]二维列表(数组)的创建a_list=[[0for_inrange(3)]for_inrange(5)]数组的清理a.clear()1.3遍历forkinrange(1,5):#步长为1第一次......
  • STM32入门学习笔记
     【1-1】、定时器定时中断&定时器外部时钟第一步:RCC开启时钟,是每个代码的第一步第二步:选择时基单元的时钟源,对于定时中断,我们选择内部时钟源第三步:配置时基单元,包括预分频器、自动重装器、计数模式等等,可以用结构体进行配置第四步:配置输出中断控制,允许更新中断输出到NVIC第五......
  • [k8s]k8s入门笔记
    ......
  • Python面向对象编程-学习笔记(二)
    5.类的继承classEmployee:raise_amount=1.04def__init__(self,first,last,pay):self.first=firstself.last=lastself.pay=payself.email=first+'.'+last+'@company.com'cla......
  • Hyper-V Best Practices读书笔记
    1.安装Hyper-V:Install-WindowsFeature-Namehyper-v,Multipath-IO-IncludeAllSubFeature-IncludeManagementTools-RestartNew-VMSwitch-NameSW-1G-NetAdapterName"LocalAreaConnection2"IfyouhaveonlyoneNIC,runthefollowingcommand:New-VMSwit......