JavaScript的发展史

        在九十年代初,网络的速度非常慢,一般都是十几k,二十几k。用户上网时常常会遇到这样一个窘境。

        一个现实的例子:那个时候论坛风靡一时,许多用户上论坛时,需要注册一个账号,注册页面是一个表单,要求用户填写账号、密码、性别、爱好等信息。当用户填好信息提交时,这个表单就会被发送到服务器,由服务器做一些校验工作(例如,密码设定是否符合一定的规则、用户是否漏填某些必要信息等格式校验)。设想,如果此时一个用户由于粗心忘记了填写某个必要信息就提交了表单,在那个网络速度非常慢的时代,当服务器检测出该用户漏填再将提醒信息反馈到用户时,其实已经耗费了相当一段时间,夸张一点,如果一个用户足够粗心,他在注册这一关就可以花费一天的时间。这样的体验绝对是非常差劲的,于是人们就想,我可不可以不用将表单提交到服务器进行格式校验操作,而让我的表单就在我本地客户端浏览器中进行格式校验。于是,很多人就想能否做出一门客户端脚本语言,让它可以直接在浏览器执行不与服务器进行交互就能直接来控制HTML元素,达到来判断HTML元素中的内容格式是否正确完整的目的,当判断出该内容格式确实是正确完整时,就将这个数据发送给服务器。这样一样来就减少了时间的花费,增强了用户的体验。

        正是由于这样的想法,在1992年,Nombase公司,开发出全球第一门客户端脚本语言,专门用于表单的校验,可以阻止用户的非法数据提交,这个脚本语言被命名为C--,这样的命名就是为了蹭C++的热度。然而事与愿违,当时在大众的心里,C++是一门很难的语言,当人们看到C--的时候以为它和C++一样的难,正是这样的心理导致C-- 一度没有什么市场。到了1995年,有一家公司Netscape(网景)看中了C-- 语言的思想,于是借鉴这个语言的思想,自行开发了一门客户端脚本语言:LiveScript。开发出来之后想要搭载到浏览器上时,发现了一些缺陷,开发得不太好。这是由于Netscape公司主要是做浏览器开发的,对于语言的定义比较生涩。同年有一门编程语言发布了——Java,Sun公司发布了jdk1.0版本,彼时Java语言大热了起来,Netscape公司请来了Sun公司的一些专家,两家公司就在LiveScript之上进行修改完善,最终将LiveScript语言更名为JavaScript,然而JavaScript语言本质上与Java语言没有任何关系,只是在语法层面有些相似而已,这样的命名也只是为了蹭一波Java语言的热度而已。历史证明这个热度蹭得确实很好。1996年,微软公司开发出了自己的浏览器——IE,他们也想做出一门客户端脚本语言搭载到IE浏览器上,于是就抄袭了JavaScript从而开发出了JScript语言。于是IE浏览器也实现了大卖,NetScape公司将JavaScript语言搭建到自家的浏览器上,也实现了自家浏览器的大卖,后来Nombase公司就想,这门语言本质上我才是第一个开发出来的,为什么其他公司都火了就我这个鼻祖,无人问津,于是总结经验教训,Nombase公司就将原来的C--更名为:ScriptEase,于是这门语言就火了起来,从此市面上Nombase、NetScape、微软在这门语言上就呈现了三足鼎立的势态。

        市面上流行的Nombase公司的ScriptEase、NetScript公司的JavaScript以及微软的JScript语言虽然本质上可以算作是同源,但是由于是不同公司开发出来搭载到不同浏览器上的语言,多多少少也会有一些差别,也就一度导致了市面流传的三个版本,当一个程序员想要开发一个页面,在页面上完成一些动态效果时,这个程序员必须把JavaScript、JScript、ScriptEase都学会,才能够让所有的浏览器显示出自己制作的效果,这样一来不但对于程序员来说非常不友好,在一定程度上也对搅乱了市场。微软抄袭JavaScript唯一的贡献就是搅乱了市场,1997年有一个组织ECMA(欧洲计算机制造商协会)站了出来,表示要统一所有的客户端脚本语言,让所有的客户端语言都必须遵守同一个规范,从而标准化市场。ECMA依据JavaScript的语法制定了一套标准,并将这套标准取名为ECMAScript,这就是所有客户端脚本语言的标准。于是三家公司纷纷根据ECMAScript标准整改自己的语言。从此市场就实现了标准化。JavaScript的发展史就进行到了这一步。

        于是现在的JavaScript就等于ECMAScript+JavaScript自己 的东西(BOM+DOM)。

智能网联汽车的安全员高级考试涉及多个方面的专业知识,包括但不限于自动驾驶技术原理、车辆传感器融合、网络安全防护以及法律法规等内容。以下是针对该主题的一些核心知识解析: ### 关于智能网联车安全员高级考试的核心内容 #### 1. 自动驾驶分级标准 国际自动机工程师学会(SAE International)定义了六个级别的自动驾驶等级,从L0到L5[^1]。其中,L3及以上级别需要安全员具备更高的应急处理能力。 #### 2. 车辆感知系统的组成与功能 智能网联车通常配备多种传感器,如激光雷达、毫米波雷达、摄像头和超声波传感器等。这些设备协同工作以实现环境感知、障碍物检测等功能[^2]。 #### 3. 数据通信与网络安全 智能网联车依赖V2X(Vehicle-to-Everything)技术进行数据交换,在此过程中需防范潜在的网络攻击风险,例如中间人攻击或恶意软件入侵[^3]。 #### 4. 法律法规要求 不同国家和地区对于无人驾驶测试及运营有着严格的规定,考生应熟悉当地交通法典中有关自动化驾驶部分的具体条款[^4]。 ```python # 示例代码:模拟简单决策逻辑 def decide_action(sensor_data): if sensor_data['obstacle'] and not sensor_data['emergency']: return 'slow_down' elif sensor_data['pedestrian_crossing']: return 'stop_and_yield' else: return 'continue_driving' example_input = {'obstacle': True, 'emergency': False, 'pedestrian_crossing': False} action = decide_action(example_input) print(f"Action to take: {action}") ``` 需要注意的是,“同学”作为特定平台上的学习资源名称,并不提供官方认证的标准答案集;建议通过正规渠道获取教材并参加培训课程来准备此类资格认证考试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立志Java工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值