JavaScript语言是一种很受欢迎的前端编程语言,它有很多独特的特点,我们一起来了解一下吧。
(1)多范式。
Javascript支持过程式、面向对象和事件驱动的函数编程!
将JS面向对象的编程风格掌握后将会非常有益。
面向对象编程有助于程序员更容易地将软件应用中的组件可视化。
另外,学习Javascript(JavascriptwithTypes)使程序员很容易地实现业内较佳设计模式。使用这些设计模式可以有效地解决在软件编程中遇到的较常见问题。
这一多面性使得Javascript非常平易近人,而且功能强大。
(2)解释。
Javascript不同于C/C++,它不是一次阅读程序,而是逐行解释。也就是说JS要比C/C++之类的编译语言慢。
注意:众所周知,Javascript是一门非常被动的语言。故障排除是十分困难的。
别气馁。通过时间和练习,你就会学会如何舒服的驾驶。较常见的错误是变量返回NULL值。如果真的发生这样的问题,请访问StackOverflow,因为我向你增加,不管错误有多少,你不是个遇到错误的人。不过,当您的项目正在进行开发时,console.log()可以自由地使用它。这样可以帮助你精确地找到程序生命周期中的某个时刻,变量可能会消失。
(3)单线程。
一次只有一个Javascript执行一个任务。这是一种基于类型将不同任务排列为不同队列。
抽象地说,Javascript基本上是把同步任务和异步任务分组,然后把它们分别排列。
synchronizationTasks是当它们遇到时立即处理的语句,也就是立即运行。其中包括日志声明、变量声明、条件检查等等。
一个异步任务涉及的任务可能需要可变时间来返回输出。例如,从WebAPI请求信息是异步任务的一个例子。
另外,Javascript也有一个JobQueue来处理JSFeature,称为Promises。
右击这个页面,然后点击检查标签,你就会看到Javascript的单线程特性。下一步,进入刚才打开的窗口的控制台标签。键入下面的代码,按Enter。
你现在可以看到这个页面完全没有响应。因为这个页面上的Javascript现在正忙于运行我们上面执行的无限while循环。
(4)非阻塞。
前面已经讲过了异步任务。因为JS是在单线程环境中工作的,所以默认它不等待任何人!
当所有同步代码块都被执行之后,异步代码块才会执行,而与程序中的位置无关。
(5)高层。
JavaScript是一门语言。高层次的语言可能只意味着它们与人类的语言更加接近。高层次的语言可以提供更多的功能,帮助程序员更好地表达他们试图构建的东西。
Javascript的这一特性使其可以较佳地服务于Web的客户端部分。以前JS的一个主要限制就是它只能在客户端提供服务,而不能像大多数服务器端语言那样操作文件。
但是,这已经改变了NodeJS,允许开发者使用Javascript构建后端服务器。这样,只要使用一种语言,软件开发者就能在服务器端和客户机上运行。这样的结果就是整个栈的工程师。
(6)动态类型。
Javascript是一个动态类型语言。这就是说,C需要为变量指定数据类型,而不是C,type-inference在Javascript中用于自动检测数据、保存变量的类型。
在Javascript中,我们使用let和const分别声明变量或常量。
尽管类型推断似乎是因为其易于使用而成为一个加分点,但是它在需要类型安全作为功能的大型项目中却是一种骗局。
因此,TypeScript就是大型项目,它只是对Javascript进行包装,提供类型、接口和各种其他功能。