js语言的特点

js语言的特点


1.JavaScript概念
JavaScript是一种基于原型的面向对象的语言。
同时,因为JavaScript是脚本语言,
而脚本语言又是一种解释性的语言,
所以JavaScript是逐行执行的同时也具有解释型语言的特点:
不需要编译可以直接使用,由解释器来负责解释。

2.JavaScript特点
面向对象,脚本语言,解释性语言,事件驱动,动态性,
弱类型&松散类型,单线程与异步处理共存,跨平台,
安全性语言

3.javaScript的核心
JavaScript 的三大核心为ECMAScript、DOM 和 BOM。

4.javaScript的执行顺序


JavaScript代码执行分为两个部分:
预编译阶段,进行代码的检查装载,同样也是按从上到下按顺序进行的。
此阶段只进行变量和函数的声明,会跳过执行语句,不对变量进行赋值,变量的默认值为undefined。
即使声明是在调用的下方进行的,但浏览器仍然先声明再调用(执行),这个现象叫做“声明提升”。
所以,即便一个函数的声明在函数调用的下方,前面仍然可以正常执行这个函数,
需要注意的是函数声明的提升优先于变量声明的提升。
(js代码的执行是读一行代码执行一行,但在执行之前系统会先对js进行全面扫描检查是否存在低级的语法错误,并不会立即执行语句。)

(1)面向对象
JavaScript 语言标准已经明确说明,JavaScript 是一门面向对象的语言;

JavaScript是否属于“面向对象的语言”一直饱受争议,一些争论中,
有人强调,JavaScript 并非“面向对象的语言”,
而是“基于对象的语言”,这个说法也一度流传甚广。JavaScript 的对象设计跟目前主流基于类的面向对象差异非常大。
而事实上,这样的对象系统设计虽然特别,但是 JavaScript 提供了完全运行时的对象系统,
这使得它可以模仿多数面向对象编程范式,所以它也是正统的面向对象语言。
而因为与基于类的面向对象的差异,我们也称JavaScript 为基于原型的面向对象。

(2)脚本语言
又被称为动态语言,只在被调用时进行解释或编译。在程序的运行过程中逐行解释执行。

3)解释性语言
不需要编译可以直接使用,由宿主环境(浏览器)解释执行。

(4)事件驱动
JavaScript对用户的响应,是以事件驱动的方式进行的。
在网页(Web Page)中执行了某种操作所产生的动作,被称为“事件”(Event)。
例如按下鼠标、移动窗口、选择菜单等都可以被视为事件。
当事件发生后,可能会引起相应的事件响应,执行某些对应的脚本,这种机制被称为“事件驱动”。

(5)动态性
语言的动态性,是指程序在运行时可以改变其结构。在一个 JavaScript 对象中,
要为一个属性赋值时,我们不必事先创建一个变量,只需要在使用的时候做赋值操作即可。

(6)弱类型&松散类型
弱类型语言声明数据时不需要指定数据类型,一个变量可以赋不同数据类型的值,不同类型数据在计算过程中会自动进行转换,
在参与运算的过程中,JavaScript会将其自动转换为数据类型,比如JavaScript中布尔类型的数据可以直接参与运算。

(7)单线程与异步处理共存
单线程程序的执行顺序是从上到下依次执行,一个程序中只可以执行一个程序。
而异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成。
二者看起来相互矛盾,不能够同时存在,可是JavaScript以一种巧妙地方式用单线程实现了异步处理的效果。
在JavaScript的主线程和任务队列中间还存在一个WebAPIs,这个WebAPIs是浏览器单独为处理JavaScript的异步任务开辟的线程。
当主线程栈中的函数需要异步处理的时候,主线程会把需要异步的部分推给WebAPIs,这部分异步由浏览器去执行,
执行完异步之后将处理后的结果以事件的形式丢到任务队列中,这个事件就是我们写代码时的“回调函数”。

(8)跨平台
JavaScript依赖于浏览器本身,与操作环境无关。

ECMAScript(核心):
描述了该语言的语法和基本对象,ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,
European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言。
这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,
所以它可以理解为是JavaScript的一个标准,但实际上后两者是ECMA-262标准的实现和扩展。

DOM(文档对象模型):
描述了处理网页内容的方法和接口;是W3C组织推荐的处理可扩展置标语言的标准编程接口。
是一种与平台和语言无关的应用程序接口(API),
它可以动态地访问程序和脚本,更新其内容、结构和www文档的风格(目前,HTML和XML文档是通过说明部分定义的)。

BOM(浏览器对象模型):
描述了与浏览器进行交互的方法和接口;用于描述这种对象与对象之间层次关系的模型,
浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。
BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

内容存在转载,年代久远

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值