javascript - 你能解释一下为什么我可以从 javascript 中另一个函数的变量创建一个函数表达式吗

标签 javascript function expression

你能解释一下为什么我可以从 JavaScript 中另一个函数的变量创建一个函数表达式吗?

示例:

let test = function(){
    console.log("Hi");
}

test.hello = function(){
    console.log("Hello");
}

test();
//hi

test.hello();
//hello

每个函数执行不同的操作,但函数“test.hello()”使用第一个函数中的变量“test”。

我不必为第二个函数“test.hello()”创建新变量。

我想知道为什么 javascript 允许我们这样做。如果您可以使用很多细节,我们将不胜感激。

谢谢。

最佳答案

这基本上就是为 JS 对象创建属性和方法的方式。 JavaScript 允许您做到这一点,这样您就可以进行面向对象编程。您可能习惯了要求您定义函数及其属性和方法的其他语言,但使用 JS 就如您演示的那样简单。

关于javascript - 你能解释一下为什么我可以从 javascript 中另一个函数的变量创建一个函数表达式吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47503741/

相关文章:

javascript - 将函数绑定(bind)到按钮数组元素的事件 "onclick"

c# - 类型 'System.DateTime' 的表达式不能用于返回类型 'System.Object'

javascript - 改进了用于折叠 SharePoint 任务列表的脚本

javascript - 有没有办法在 GraphQL 中表示键值对的对象

javascript - AngularJS 将变量传递给模板

javascript - `f()` 和 `new f()` 有什么区别?

javascript - 是否可以从 React 函数中导出一个常量变量?

c# - 在声明之前不能使用局部变量

c - 函数参数中的逗号运算符

linq - 如何在我的lambda表达式中使用带有2个参数的方法