JavaScript是什么
JavaScript是一门编程语言。是web前端开发技术栈中最重要的一环。主要功能是用于给静态web页面添加交互能力,使用静态网页向动态网页转化。在JavaScript还没有很好的使用起来的时候,大部分的web网页都是静态网页,主要用于信息的呈现和传播。此时的网页几乎没有交互能力,与现在网上的博客站点上静态网页差不多。
随着互联网的不断发展,越来越多的桌面应用搬迁到互联网上;而网页就是这些应用的载体。与传统的桌面应用相比,web应用的优势越来越明显。然而这些web应用少不了与人进行交互,在这个大背景下JavaScript变得越来越重要。web应用和JavaScript应该是相互促进的关系吧。现在很多桌面应用都有web版本,用户省去的下载和安装的过程,也不在占用个人磁盘空间;在浏览器上打开即用。而且体验与桌面版本的效果并不差,甚至还有很多其他的优势。
这一切都得益于JavaScript的发展和使用。
JavaScript主要功能
从宏观上讲,JavaScript的所有的功能都是为了赋予web网页以交互能力,用户操作网页中的元素,然后网页给予相应的应答。从这个过程中我们可以看到JavaScript的三大主要功能:响应页面事件、负责与服务器进行信息交互和操作页面DOM。
JavaScript作为一门编程语言,一般编程语言有的功能;它都是具备的。例如:字符串处理、日期的操作、数组的操作和数字的操作等等。
JavaScript和其他编程语言的比较
JavaScript是面向对象
的解析型
动态语言
。一般情况下,面向过程型语言的一等公民是函数
,而面向对象语言的一等公民是类
或者对象
。然后JavaScript虽然是面向对象语言,但是语言特性上却没有真正的类
的概念,JavaScript中只有对象,面向对象的继承特性使用原型模式实现的。个人认为JavaScript的一等公民有两个:对象
和函数
;即便在JavaScript中函数
也是对象。其中闭包
也是JavaScript中非常重要的一个概念。
这些也是JavaScript语言的独特之处。个人觉得这些特性还是比较坑的。
但是现在的ES6针对面对对象实现方式做了一些语法糖的处理,使得JavaScript实现面对对象的方式与一般的面对对象编程语言更加的相似。不过这仅仅是一些语法糖,底层的实现机制并没有改变,还是使用原型模式实现继承。
JavaScript是动态语言,所以在声明变量的时候不需要指定数据类型,运行时变量的数据类型是可以被修改的。但是从编程规范的角度来说,应该尽量地避免这样的操作。
JavaScript是解析型语言,代码在执行前是不需要编译的;一边解析一边执行。这也使得JavaScript具备跨平台的特性。
总结
JavaScript发展到现在已经相当成熟了,但还是存在一定的浏览器兼容性问题,而jQuery类库很好地解决了这个问题。现在网上存在很多好用的JavaScript类库和框架可供开发人员使用。因为JavaScript作为编程语言确实存在很多的不足,所以甚至出现了通过编写其他语言来代替原生JavaScript,然后使用相关工具转化成JavaScript语言进行发布运行。现在已经有了ES6,编程JavaScript的体验已经得到了很好的提升。
作为一个JavaScript入门选手,JavaScript基础知识是不可或缺的。万丈高楼平地起嘛!