十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
是的,js是基于对象的,连他的function函数都是一种对象。所以是面向对象的!
目前创新互联已为成百上千的企业提供了网站建设、域名、虚拟空间、网站托管维护、企业网站设计、沂南网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
JavaScript是一种基于原型的面向对象的语言。是在网站浏览器上运行的编程语言。
主要是向使用HTML和CSS构建的网站添加,并起到实现各种页面动态效果的作用。例如,在网页上展示的轮播图样式和在咨询平台上输入的内容错误后显示的提示信息等这样的效果。另外针对商城网站里面购买商品时,使用购物车和费用估算也需要用到JavaScript。所以即使它不怎么明显,但依然是编码人员经常会用到的一种语言。
同时,因为JavaScript是脚本语言,而脚本语言又是一种解释性的语言,
所以JavaScript是逐行执行的同时也具有解释型语言的特点:不需要编译可以直接使用,由解释器来负责解释。
JavaScript的特点有哪些?
1、脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。
2、基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。
3、简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。
4、动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。
5、跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提上机器上的浏览器支持JavaScript脚本语言,目前JavaScript已被大多数的浏览器所支持。
6、单线程与异步处理共存
单线程程序的执行顺序是从上到下依次执行,一个程序中只可以执行一个程序。而异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成。二者看起来相互矛盾,不能够同时存在,可是JavaScript以一种巧妙地方式用单线程实现了异步处理的效果。
有三个核心概念:
一切事物皆对象,(tips: javascript 中除了两个特殊值undefined 和 null.)
对象具有封装和继承特性
对象与对象之间使用消息通信,各自存在信息隐藏。
OK,基于这三点,我们再来看,
C++ 是半面向对象半面向过程语言,因为,虽然他实现了类的封装、继承和多态,但存在非对象性质的全局函数和变量。
Java、C# 倒是完全的面向对象语言,通过类的形式组织函数和变量,使之不能脱离对象存在。但这里函数本身是一个过程,只是依附在某个类上。
然而,面向对象仅仅是一个概念或者编程思想而已,它不应该依赖于某个语言存在。比如 Java 采用面向对象思想构造其语言,它实现了类、继承、派生、多态、接口等机制。但是这些机制,只是他实现面向对象编程的一种手段而已,而非必须。
换句话来说就是,一门语言是可以根据其自身特性选择合适的方式来实现面向对象,一个女生是可以根据自身特色来选择合适的着装来展现自己,至于穿什么样的衣服,it’s up to you!
由于大多数人,像我们都是首先学习或者使用的是类似 Java、C++ 等高级编译型语言,先入为主地接受了“类”这个面向对象实现方式,从而在学习脚本语言的时候,习惯性地用类式面向对象语言中的概念来判断该语言是否是面向对象语言,或者是否具备面向对象特性。实际上,JavaScript语言是通过一种叫做原型(prototype)的方式来实现面向对象编程的。它和其他的面向对象类编程语言一样,只是它的实现方式不同而已,或者说他们采用了不同的面向对象设计哲学。
你预先接受了穿裙子才显得好看,所以你用这个“穿裙子”去评判别人穿着,但你不能说穿牛仔裤的她就是不好看的,对吧?别人只是选择了牛仔裤来展现自己。。So, java 选择了“类继承”, javascript 就是选择的“原型继承”来展示自己。
让我们从大家熟悉的类继承入手,
类继承就是在函数对象内调用父类的构造函数,使得自身获得父类的属性和方法。
但是原型继承呢,继承不在对象本身,而是在对象的原型上。子类的构造函数中不拥有父类对象的方法和属性。
那么让我们看一个简单的例子来和“原型继承”初次见面一下。
var Person = function(name, city){
this.name = name;
this.city = city || "China";
}
var jean = new Person("Jean"); //new 一个新对象
console.log(jean.__proto__.constructor);//私有链接,指向构造函数Person的原型123456123456
这里,大家是不是觉得很熟悉,因为写法跟“类继承“很相似啊。其实javascript还是沿袭了类继承的形式,听起来有点不伦不类,但是也许就是因为这种妥协,让javascript更容易被大多数人所接受,成为了现在最流行的原型继承语言也说不定呢~~
是的,js是基于对象的,连他的function函数都是一种对象。所以是面向对象的!