JavaScript简介——JS入门的几个疑问

1. JavaScript和Java是什么关系?

    没有关系。  知乎上有些解释很有趣:“印度”和“印度尼西亚”的关系;“雷锋”和“雷锋塔”的关系;“老婆”和“老婆饼”的关系。

    从时间上看,先有的Java,后有的JavaScript。20世纪90年代,Netscape公司决定开发一种可以同时在浏览器和服务器使用的脚本语言,将其命名为LiveScript。

    1995年该语言正式发布的前夕,媒体正热炒Java语言,Netscape公司为了提高LiveScript的关注度,临时将名字LiveScript更改为JavaScript。所以说JavaScript和Java可以说没啥直接关系。两者都是编程语言,如果非要说个两者的异同,肯定是可以列个一二三的,就像Javascript和C++语言也可以有异同的嘛。

2. JavaScript的起源,或者说什么需求带来了这门语言?

    插句题外话,登录12306官网时有没有人像我一样,要重输5次以上验证码才能通过?如果没有选对验证码,在我点“登录”之前就告诉我呗。碰上网速不好时,验证半天才告诉我验证码错误,请重新输入密码和验证码;重输密码和验证码后又失败. . .抢票的时候心里真是急躁啊!

    JavaScript产生的原因跟这个类似:互联网日益流行,但网速却只有28.8kbit/s,为了完成简单的表单验证而频繁地与服务器交换数据加重网络负担,用户体验差。想象一下,如下图1所示,填完所有信息后数据交给服务器,漫长等待;服务器提示信息不对,重填,数据交给服务器,漫长等待;信息不对,重填 . . .仅仅注册一个邮箱就会慢得让人奔溃啊!(图1左边流程所示)

    于是JavaScript出现了,它运行在前端(浏览器),最初目的是分担服务器处理表单的责任。表单信息在前端完成初步验证,速度快了,网络负担也减小。(图1右边流程所示)


图1.  JavaScript的起源

3. ECMAScript是什么?

    ECMAScript可以认为是JavaScript语言的标准,通常也被认为就是JavaScript语言(但实际上不等同于JavaScript)。

    ECMA是欧洲计算机制造商协会(European Computer Manufacturers Association)的缩写。随着JavaScript的发展(尤其是Netscape和微软两个公司的竞争),JavaScript的标准化问题被提上日程。1997年,ECMA协会指定39号技术委员会(TC39,Technical Committee #39)制定标准,此次指定的标准名为ECMA-262。

    ECMAScript标准定义的只是JavaScript语言的基础,最初(ECMA-262)这些基础包括:语法、类型、语句、关键字、保留字、操作符和对象等,后来又增加了支持Unicode标准、增加字符串处理、错误定义、正则表达式、控制语句、强类型变量、数据交互新方式、原生JSON对象、严格模式、继承方法和高级属性等等。

    ECMAScript标准的基础上可以构建更完善的脚本语言。Web浏览器、Node、Adobe Flash等都是ECMAScript的宿主环境,宿主环境不仅提供ECMAScript的实现,而且提供语言的扩展(例如DOM),以便语言与环境之间对接和交互。

    一个完整的JavaScript实现应该由下列三个不同的部分组成:ECMAScript核心,文档对象模型(DOM),浏览器对象模型(BOM)。

4. DOM(Document Object Model, 文档对象模型)是什么?

    官方地说,文档对象模型(DOM, Document Object Model)是针对XML但经过扩展用于HTML的应用程序编程接口(API, Application Programming Interface)。

    简单地说,DOM就是一个模型,它是 为了操作文档 (HTML网页就是一个文档,浏览器解析一个后缀名为.html的文件后展示为网页)而出现的API把标签(对)看作“对象(Object)”,例如<html></html>, 又如<div></div>, 或者<p></p>等等。把每个对象看作一个“节点(Node)”。结果,一个HTML文件(网页)就是一个DOM,也是一个对象树,而对象树的根节点是文档节点Document, 对于HTML页面来说,根节点Document有且仅有一个子节点,即<html></html>。

    DOM是W3C(Word Wide Web Consortium,万维网联盟)制定的,它不只是针对JavaScript,很多别的语言也实现了DOM。支持DOM已经成为浏览器开发商的首要目标。

5. BOM(Browser Object Model,浏览器对象模型)是什么?

    从根本上讲,BOM只处理浏览器窗口和框架,它是 为了控制浏览器 而出现的API。

    DOM提供访问和操作网页内容的方法和接口,BOM提供与浏览器交互的方法和接口。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值