JavaScript是"动态的"是什么意思?

OpM*_*pMt 20 javascript static dynamic

我从不同的来源(例如维基,文章等)中读到了编程意义上的动态意味着什么.维基百科谈论动态编程语言如何在运行时执行某些编程行为(而不是静态语言的编译时间),但他们的解释含糊不清,并讨论了这些行为在所有编程语言的难易程度,复杂性和性能成本方面的变化.

因此,对于JavaScript而言,它的动态是什么意思?

我可能完全错了,但也理解JavaScript是动态类型语言,因为在实例化变量/函数之前没有状态类型(例如var,函数jsFunction())而不是类似于静态类型的语言在实例化变量/函数之前定义类型的Java(例如int var,public int function()).

这与这些有什么关系吗?

Guf*_*ffa 19

大多数语言都有动态行为的某些方面.即使是静态类型语言也可以具有可以包含不同数据类型的动态或变体数据类型.

JavaScript被称为动态语言,因为它不仅具有一些动态方面,几乎所有东西都是动态的.

所有变量都是动态的(包括类型和存在),甚至代码也是动态的.您可以在运行时创建新变量,并在运行时确定变量的类型.您可以随时创建新功能,也可以替换现有功能.在浏览器中使用时,在加载更多脚本文件时会添加代码,您可以随时加载更多文件.

现在JavaScript在许多实现中编译,静态代码和静态类型在后台生成.但是,该行为仍然是动态的,编译器仅在发现动态方面未用于特定对象时才生成静态类型.