javascript - 类中的函数表达式

标签 javascript

我了解函数表达式函数声明之间的区别,但是当涉及到类的引用时它们有何不同?就像下面的 someFunction 可以在类中使用,哪里不能使用?哪个类可以在哪里实例化?

class xyz {
    someFunction(){
        // Function code
    }
}

对比

class xyz {
    var someFunction = function(){
        // Function code
    }
}

最佳答案

当您使用函数声明时,该函数将转到类原型(prototype)。

class xyz {
    someFunction(){
        // Function code
    }
}

上面的类可以表示为函数构造函数:

    function xyz() {
        //Code.
    }
    xyz.prototype.someFunction = function() {
      //Some code
    }

因此 someFunction() 将成为 xyz 原型(prototype)的一部分。

当您在类中使用函数表达式时,它们会引发无效语法错误。 但是,当您在经典函数构造函数中使用函数表达式时,该函数只是一个局部变量,无法被 xyz 实例访问。

function xyz()
 {
    var someFunction = function(){
        // Function code
    }
}

关于javascript - 类中的函数表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49897906/

相关文章:

javascript - Python 在连接到服务器时显示网页

javascript - 部署时自定义操作 URL 错误 : Error occurred in deployment step

javascript - 您如何保护网页免受慢速广告跟踪网络信标的影响?

javascript - ng-mousedown 与 ng-click 一起使用的意外行为

javascript - 是否会使用 AJAX 发送 http_only cookie?

javascript - 加载数据之前加载 Angular Controller

javascript - 清除单击按钮上的推送通知

javascript - FB Like 按钮应使用哪些 Javascript SDK 代码并进行哪些修改?

javascript - SVG 到 Canvas 与 canvg 不尊重 css

javascript - 从 MSBuild SonarQube Runner Analysis 中删除单个 JavaScript 文件