首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我的类没有被这个JavaScript函数切换?

在JavaScript中,函数的切换通常是通过调用函数来实现的。如果你的类没有被JavaScript函数切换,可能有以下几个原因:

  1. 类没有被正确实例化:在JavaScript中,类需要通过实例化才能使用。如果你没有正确实例化类,函数就无法切换到该类。
  2. 函数没有正确引用类:在函数中,你需要正确引用类的实例才能切换到该类。确保你在函数中使用了正确的类实例。
  3. 类的作用域问题:如果你的类定义在函数外部,而你的函数在函数内部调用,可能会导致类无法被函数切换。确保类的作用域在函数内部可见。
  4. 类的命名冲突:如果你的类与其他变量或函数具有相同的名称,可能会导致类无法被正确切换。确保类的名称与其他变量或函数不冲突。
  5. 类的定义在函数调用之后:如果你的类的定义在函数调用之后,可能会导致类无法被正确切换。确保类的定义在函数调用之前。

综上所述,要解决类没有被JavaScript函数切换的问题,你需要确保正确实例化类、正确引用类的实例、类的作用域可见、避免命名冲突,并确保类的定义在函数调用之前。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

《你不知道的JavaScript》:js中为什么没有类?

所有字符串都是String类的实例,可以说这个字符串是一个包裹,包含字符数据和可以应用在这个数据上的函数(行为或者方法)。...在软件中,对不同的交通工具重复定义载人能力等方法是没有意义的,只要在Vehicle类定义一次,然后在Car类时,只要声明它继承(或扩展)了Vehicle类的基础定义就行。...这就可以看出,类的继承和实例化。 类的另一个核心概念是多态,即父类的通用行为可以被子类用更特殊的行为重写。 类实例是由一个特殊的类方法构造的,这个方法名通常和类名相同,被称为构造函数。...这个方法的任务就是初始化实例需要的所有信息(状态)。 类构造函数属于类,通常和类同名,并且构造函数大多需要用new来调用,这样语言引擎才能知道你想要构造一个新的实例。...在javascript中也有类似的语法,但是和传统的类完全不同。 js中只有对象,没有类这个概念。 类意味着复制,传统的类被实例化时,它的行为会被复制到实例中。类被继承时,行为也会被复制到子类中。

1.7K30

我为什么要创建一个不能被实例化的类

但如果有一天,你发现我写了这样一个类: class People: def say(self): print(f'我叫做:{self.name}') def __new...__(self): raise Exception('不能实例化这个类') kingname = People() kingname.say() 一旦初始化就会报错,如下图所示:...一个不能被初始化的类,有什么用? 这就要引入我们今天讨论的一种设计模式——混入(Mixins)。 Python 由于多继承的原因,可能会出现钻石继承[1]又叫菱形继承。...为了保留多继承的优点,但又摒除缺点,于是有了混入这种编程模式。 Mixins 是一个 Python 类,它只有方法,没有状态,不应该被初始化。它只能作为父类被继承。...: 本质上,混入的写法与普通的类继承类没有什么区别。

3.4K10
  • JavaScript 内存详解 & 分析指南

    随着大前端时代的到来,使用 JavaScript 的开发者越来越多,但是许多开发者都只停留在“会用”这个层面,而对于这门语言并没有更多的了解。...不要问我为什么全局对象储存在堆内存中,一会我翻脸了啊! ? 闭包(Closures) 在函数(局部作用域)内创建的变量均为局部变量。...当一个局部变量被当前函数之外的其他函数所引用(也就是发生了逃逸),此时这个局部变量就不能随着当前函数的返回而被回收,那么这个变量就必须储存在堆内存中。...= null; // 现在 ππ 没有任何引用了,可以被回收了 // 在 ππ 被回收后,pp 的引用也会相应减少 // ππ 的引用:0,pp 的引用:1 b = null; // 现在 pp...我在官方文档里没有找到任何关于分配采样的介绍,Google 上也几乎没有与之有关的信息。所以以下内容仅为个人实践得出的结果,如有不对的地方欢迎各位指出!

    1.2K10

    不容错过的CSS变量

    为什么还要使用它?过了几年,我发现越来越多的人开始讨论和使用它,我觉得我是错过了什么…… 虽然花费了一点功夫,但在使用后,我确实被它吸引住了。...--bgColor: teal; } 通过var()函数来引用变量: div { background: var(--bgColor); } var()函数还可以接受一个参数,用作变量的默认值,当变量未定义时回退到这个默认值...Javascript API 我觉得这是CSS变量最好的部分 —— CSS变量可以通过Javascript API来获取和设置。...几天前, 我通过David K的XState DEMO接触到了这个使用场景: 当用户鼠标拖拽时, 通过CSS变量来确定选择框的定位(基于鼠标的开始位置和当前位置): .selectbox { left...Javascript API让我踩了不少坑,但是它确实让我开了眼界,我期待未来能够更多使用和了解它们。 译者注: 本文并非完全照搬原文,即意译. 另外女朋友也给我校验过了,确保大体没有搞错?

    85810

    jQuery笔记(1) (多图)

    JavaScript库 即library,是一个封装好的特定的集合(方法和函数).从封装一大堆函数的角度理解库,就是在这个库中,封装了很多预先定义好的函数在里面,比如animate,hide,show...对象是一个伪数组,为什么它能同时给四个box设置背景颜色呢?...'类名'); 切换类 $('div').toggleClass('类名'); 如果有这个类,就删除掉,如果没有就添加 加个过渡更好看 这次我们再用jQuery的方法做一次之前的淘宝tab栏切换案例...,(如: 1000) easing: 用来指定切换效果,默认是"swing",可用参数"linear" fn: 回调函数,在动画完成时执行的函数,每个元素执行一次 但是一般都不用这个,因为这个动画实在太丑...先休息啦,今天也学了10个视频(虽然很少),但是我累了555 本来打算晚上发的,但是发现很多我做的东西没了,比如给一些重点的地方划线啥的,都消失了。。好无语啊,明天再搞搞就发 现在去看帅哥

    9K10

    .NET 异步详解

    你可以发现这么一来,在读取数据期间就没有任何的线程被阻塞,也不存在被频繁调度和切换上下文的情况,只有当 IO 操作完成之后才会被重新调度并恢复先前让出控制权时的上下文,使得后面的代码继续执行。...在此过程中并没有任何的新线程被分配了出去。...这时有人要问了:“我在 Task.Run 里面套了好几层 Task.Run,可是为什么层数深了之后里面的不执行了呢?” 这是因为上面所说的线程池被耗尽了,后面的 Task 还在排着队等待被调度。...对于上述代码,我们一般调用的时候,分别这么写: Copy await Foo(); Bar(); 可以发现,诶这个 Bar 函数不需要 await 诶。为什么呢?...IsCompleted 属性和实现了 INotifyCompletion,那么这个类的对象就是可以 await 的。

    73454

    星际巡航—玩转javascript中this!

    一、星际迷航 javascript中的回调函数,我借用科幻小说的比喻,有点类似不同的宇宙空间。...对于javascript中的回调函数来说,函数中的this变量到底是谁,搞不清这个你很可能就会在旅行中回不来了,回到之前代码中的filter中的回调函数: onLoad() { let array...几乎每个人都会在这一点栽跟头,这个特性既成就了javascript的高度灵活性,但也让不少初学者产生迷惑。改变js函数中this变量的技法我将其称之为:星际巡航术,为的是在迷航中认清自己。...第一式:凝神诀 Function.bind javascript中所有的函数对象上都有bind方法,执行它将返回一个新的函数变量,这个新的函数执行时的this上下文由bind的第一个参数所决定。...在一阳指还没有被创造之前,使用的是闭包变量来做的: var self = this; function callback() { //使用self变量,指向调用时的this上下文

    63520

    JavaScript执行(三):你知道现在有多少种函数吗?

    在 JavaScript,切换上下文最主要的场景是函数调用。在这一课,我们就来讲讲函数调用切换上下文的事情。我们在讲函数调用之前,首先来认识一下函数家族。...要想认识这些函数的执行上下文切换,我们必须要对它们行为上的区别有所了解。 对普通变量而言,这些函数并没有本质区别,都是遵循了“继承定义时环境”的规则,它们的一个行为差异在于 this 关键字。...在这个例子中,Reference 类型中的对象被当作 this 值,传入了执行函数时的上下文当中。...这个设计来自 JavaScript 早年,通过这样的方式,巧妙地模仿了 Java 的语法,但是仍然保持了纯粹的“无类”运行时设施。...JavaScript 用一个栈来管理执行上下文,这个栈中的每一项又包含一个链表。 如下图所示: 当函数调用时,会入栈一个新的执行上下文,函数调用结束时,执行上下文被出栈。

    43630

    你知道JavaScript现在有多少种函数吗?

    在 JavaScript,切换上下文最主要的场景是函数调用。在这一课,我们就来讲讲函数调用切换上下文的事情。我们在讲函数调用之前,首先来认识一下函数家族。 1....要想认识这些函数的执行上下文切换,我们必须要对它们行为上的区别有所了解。 对普通变量而言,这些函数并没有本质区别,都是遵循了“继承定义时环境”的规则,它们的一个行为差异在于 this 关键字。...在这个例子中,Reference 类型中的对象被当作 this 值,传入了执行函数时的上下文当中。...这个设计来自 JavaScript 早年,通过这样的方式,巧妙地模仿了 Java 的语法,但是仍然保持了纯粹的“无类”运行时设施。...JavaScript 用一个栈来管理执行上下文,这个栈中的每一项又包含一个链表。 如下图所示: 当函数调用时,会入栈一个新的执行上下文,函数调用结束时,执行上下文被出栈。

    30110

    阅完此文,Vue响应式不再话下

    因为我这儿没有使用 Vue,很明显,这儿会输出 10: >> 变化之后的总价:10 在咱们经常使用的 Vue 中,我们想要在 price 或者 quantity 这两个字段更新时,和它有关的表达式也会更新...,但是这样没有一个很好地管理,我们能不能把记录这块的内容,维护成一个类,让这个类维护一个 tagert 列表,每次需要重新运行的时候,这个类都会得到通知。...为什么要设置成全局变量,而不是将其传递给需要的函数。...20;//输出:被修改 这里,我们并没有实际的修改get和set的值,因为功能被覆盖了。...Set—运行保存的匿名函数,对应匿名函数绑定的值就会发生变化 切换到Dep class的模式: price被访问时—调用dep.depend保存当前target price被改变时—调用price的dep.notify

    58710

    阅完此文,Vue响应式不再话下

    因为我这儿没有使用Vue,很明显,这儿会输出10: >> 变化之后的总价:10 在咱们经常使用的Vue中,我们想要在price或者quantity这两个字段更新时,和它有关的表达式也会更新,和它有关的函数也会执行...,但是这样没有一个很好地管理,我们能不能把记录这块的内容,维护成一个类,让这个类维护一个tagert列表,每次需要重新运行的时候,这个类都会得到通知。...为什么要设置成全局变量,而不是将其传递给需要的函数。...同时data.quantity这个变量也被访问了,所以也希望能够被记录下来,放在对应的订阅数组中: 如果这个时候还有其他的地方也在使用data.price,我们也希望可以把对应的匿名函数放到Dep类中记录下来...Set—运行保存的匿名函数,对应匿名函数绑定的值就会发生变化 切换到Dep class的模式: price被访问时—调用dep.depend保存当前target price被改变时—调用price的dep.notify

    51820

    JavaScript是如何工作的:深入V8引擎&编写优化代码的5个技巧

    内联代码 第一个优化是提前内联尽可能多的代码。内联是用被调用函数的主体替换调用点(调用函数的代码行)的过程。这个简单的步骤允许下面的优化更有意义。 ?...隐藏类 JavaScript 是一种基于原型的语言:没有使用克隆过程创建类和对象。JavaScript 也是一种动态编程语言,这意味着可以在实例化后轻松地在对象中添加或删除属性。...内联缓存也是为什么相同类型的对象共享隐藏类非常重要的原因。...大部分的 Lithium 实现都是特定于架构的。寄存器分配往往发生在这个级别。 最后,Lithium 被编译成机器码。然后就是 OSR :on-stack replacement(堆栈替换)。...这个新的管道在实际的 JavaScript 应用程序中实现了更大的性能提升和显着节省内存。

    1.6K20

    WebAssembly 不完全指北

    TypeScript它是JavaScript的一个严格超集,并添加了可选的静态类型和使用看起来像基于类的面向对象编程语法操作 Prototype。所以TypeScript可以这样理解: ?...但是,由于TypeScript最终仍然是被编译成JavaScript在浏览器中执行,所以困扰着JavaScript开发者的性能问题,仍然没有被解决。...使用emscripten.h中的EMSCRIPTEN_KEEPALIVE宏,确保emcc编译器在编译时,不会因为该函数没有被调用而优化掉这个函数。...可以看到WebAssembly相较于纯JavaScript,计算性能大约提升了39%,这与普遍的100%+的性能提升有着较大差距。这是为什么呢?...可以看到WebAssembly与纯粹的JavaScript性能差距以及不大了,验证了我的猜想。

    2K220

    Python3和Go成最大赢家?一张主流编程语言变迁图讲清程序员迁移模式

    我最喜欢的例子就是 有趣的空指针。Linux 内核有个编译器带来的致命弱点,即 NULL 值“不可能”出现,因此没有对函数进行空指针检查。C 也是一团糟,其规格里有几个新编程语言所没有的致命错误。...人们有不同的想法:明显正确的(“我为什么会使用与 C 或 Java 一样让人痛苦的语言呢?”),或明显错误的(“可视化的....Basic?开玩笑吧?”)。...Hejlsberg 的语言在反击之前被微软和 Visual Basic 所遏制,于是 Hejlsberg 转向写 Typescript,这个留待以后讨论。 ?...一种有合理的命名空间系统,而另一种则没有。 我不清楚从长期看,Python 3 是否能打败 javascript。但至少目前看,它不会被击败。...在此基础上,他们有自己的 TypeScript,我觉得这是一种很好的语言。这个分支存在有数十年,开始和其分支融合,可能不久后会消失。 TypeScript 和 javascript 比,能胜出吗?

    1.2K30

    super(props) 真的那么重要吗?

    重要的是,在调用父类构造函数之前,你不能在构造函数中使用this。 JavaScript 是不会让你这样做的: ?...为什么 JavaScript 在你使用 this 之前要先强制执行父构造函数,有一个很好的理由能够解释。 先看下面这个类的层次结构: ?...先让父类做完自己的事! 这种限制同样也适用于被定义为类的 React 组件: ? 这里又给我们留下了另一个问题:为什么要传 props 参数?...如果这种情况发生在从构造函数调用的某个方法中,可能会给调试工作带来很大的麻烦。 这就是为什么我建议总是调用 super(props) ,即使在没有必要的情况之下: ?...那么为什么我们不写成 super(props, context) 呢? 我们当然可以这样做,但是使用context的频率比较低,所以这个坑并没有那么多影响。

    1.3K50

    让访问者禁用响应式布局界面

    而我称呼它为:查看固定宽度下的布局(当切换之后变成“查看弹性宽度下的布局”)。我并不确定这样可以帮助用户明白之间的异同,但是我认为这比起“桌面端”和“手机端”来说,描述的更加准确。...我觉得只有在媒体查询工作的时候才显示这个切换开关——如果响应式布局没有被触发,那切换个毛啊。 我选择直接把这个切换链接写进 HTML 中,而不是使用 JavaScript 临时生成。...这样切换的时候,只需要对 html 对象加上 fixed 类就可以了。如果 html 对象中有这个类,就说明用户已经禁用了响应式布局,所以需要显示开关,方便他们再次启用。...如果你没有分割成单独的文件,那么就通过检查 HTML 元素中是否有 fixed 这个类名在启用响应式布局功能脚本: if ( !...这就是为什么我个人喜好直接开发网站,但是其他开发者却相反的先使用媒体查询功能开发“手机端”的网站,然后再开发“桌面端”布局。 如果你使用媒体查询为老的浏览器隐藏 CSS3 的功能,这也会产生问题。

    1.1K30
    领券