javascript是一种具有面向对象能力的、解释型的程序设计语言。它是基于对象和时间驱动,并具有相对安全性的客户端脚本语言。因为它并不需要在一个语言环境下运行,只需要有支持它的浏览器即可,它的主要目的是验证发往服务器断的数据,增加web互动,加强用户体验。
什么是面向对象
(1) 面向对象思想中, 有两个主要的概念:
类: 有相同的特征和行为的事物的抽象
对象: 类的一个实例
(2) js不是一个严格的面向对象语言
说javascript是一种基于对象的语言应该更正确些,但说javascript不面向对象,在我看来则是错误的认知。
只是javascript的面向对象与传统的class-basedOO(基于类的面向对象)相比, javascript有它与众不同的地方,
其实主要是因为它没有提供象抽象、继承、重载等有关面向对象语言的许多功能, 而是把其它语言所创建的复杂对象统一起来,
从而形成一个非常强大的对象系统。
这种独特性称它为prototype-basedOO(基于原型的面向对象).
解释型语言与编译型语言的区别
解释型语言:这种是在运行的时候就将程序编译成机器语言。
编译型语言:这种是在运行程序前有一个编译过程,但是并不是将程序编译成机器语言,而是编译成字节码。
例如java语言在运行的时候,由JVM将字节码在翻译成机器语言。JVM是java虚拟机,是一个虚构出的计算机。
java代码由JVM执行
javascript是由javascript解释器执行
从jQuery的出现第一次带动javascript的发展,到html5让javascript真正的做到让人们认识,再到现在的nodejs。彻底的颠覆了之前大部分人对于javascript的一些看法。这些新型的框架出现让javascript真正的潜力无限!
html5就是javascript的高级内容进阶部分
现在还是有很多人把html5与html相关联,它们之间有相关性吗?不过是做了一些优化,添加了一些新的标签,新的标签也不难理解方便使用,为什么就被定义成html基础部分了呢?
html5的真正威力是在于你能通过javascript来创建标签,利用内核的两种特性去分别解释与渲染,canvas被人所熟知也是因为其功能强大,动画、特效、游戏、数据的可视化。都是需要通过javascript与后台的支持才能有其效果。所有的一切都要归功与javascript。webgl支持html5画布绘制3D图像效果。html5的地理位置支出在浏览器中显示则是LBS应用等等。javascript与文档型数据库的对接做到了太多的不可能。ECMAscript版本的不断迭代更新,出现了太多太多以其为基础的js框架,vuejs、angularjs、reactjs...
原型及原型链问题
说一下原型链的问题,就是当要获取对象的某个属性的值的时候: 判断当前这个对象是否存在这个属性,如果有就输出 如果第一步没有获取到, 就去构造函数的原型中找 如果1和2都没获取到, 去Object构造函数的原型中找 如果123都没找到, 就输出undefined
参考文献:https://blog.csdn.net/u011277123/article/details/72896398
参考文献:https://www.jianshu.com/p/018d22baeb4e