JavaScript的出现
JavaScript的出现
- 简单的历史背景
- JavaScript语言本身是为了解决90年代初期,差网速条件下的表单验证而生。这么说可能不够形象,我举个例子:在90年初的某一个晚上,你看到某个论坛的内容十分吸引人,然后点击了注册,输入了信息后有个提交,点击提交,接下来的半分钟甚至1~2分钟内,你都将看到的时候那个永无休止的圆圈再转!那是多么的痛苦!那时的表单验证就是这样,52kb的网速,加上往返的验证、request等等,如果是现在,估计10秒的不响应你都会刷新重来,或者认为网络、网页出了问题!因此,Netscape Navigation公司组织研发了livescript脚本语言应对此问题,又恰逢当时编程语言的爆发,Java语言同时期更早一点发布,Netscape Navigation公司匆忙地将livescript脚本语言发布,并搭上Java语言的热潮改名为Javascript语言,实际两者并没有什么关系!至此还有很多人在交流时这样说
“你学的什么语言啊?””javascript””你学的Java啊!””/晕”!可谓这个顺风车搭的非常有效果! - 虽然JavaScript的开发非常成功,但是迫于那个浏览器动荡的时代,JavaScript也不得不想ECMA求助,终于,在92年期间,以JavaScript1.1版本向ECMA提交建议,开发出一套通用的、跨品台供应商中立的标准脚本语言。次年,ISO/IEC等也采取了ECMA的js标准。至此,ECMAScript诞生,所以所说的js不是js,js又是js,JavaScript和ECMAscript互相包容,互相依赖,用一文读懂JavaScript和ECMAscript的区别上的一句话来说:
- JavaScript语言本身是为了解决90年代初期,差网速条件下的表单验证而生。这么说可能不够形象,我举个例子:在90年初的某一个晚上,你看到某个论坛的内容十分吸引人,然后点击了注册,输入了信息后有个提交,点击提交,接下来的半分钟甚至1~2分钟内,你都将看到的时候那个永无休止的圆圈再转!那是多么的痛苦!那时的表单验证就是这样,52kb的网速,加上往返的验证、request等等,如果是现在,估计10秒的不响应你都会刷新重来,或者认为网络、网页出了问题!因此,Netscape Navigation公司组织研发了livescript脚本语言应对此问题,又恰逢当时编程语言的爆发,Java语言同时期更早一点发布,Netscape Navigation公司匆忙地将livescript脚本语言发布,并搭上Java语言的热潮改名为Javascript语言,实际两者并没有什么关系!至此还有很多人在交流时这样说
1 |
|
JavaScript的实现
- 说来JavaScript还是一门服务于浏览器和网页的脚本语言,而一个完整的JavaScript语言的实现由以下三个不同的部分组成。
- 核心(ECMAsrcipt);
- 文档对象模型(DOM);
- 浏览器对象模型(BOM);
- 一门标准的JavaScript语言规定了哪些内容呢?
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
- 对象
- 说来JavaScript还是一门服务于浏览器和网页的脚本语言,而一个完整的JavaScript语言的实现由以下三个不同的部分组成。
DOM级别
- DOM2:DOM视图、DOM事件、DOM样式、DOM遍历和范围
- DOM3:新增了DOM验证方法、开放支持XML(我觉得将来有一天真的有可能会将HTML发展成XML,并得到良好支持!)
浏览器对象模型(BOM)
script元素引用
在
头部等文档位置引用1
<script type="text/javascript" src="js/javacript.js">
在文档内任意元素间插入小块脚本
1
2
3
4
5<script>
function fun(){
console.log("hello world!")
}
使用文档内js脚本和引用脚本时应该注意的地方
- 加载顺序
文档流默认从上至下加载,如果js放在head头部,那么网页在加载之前要先等待js脚本加载并执行完毕后才能加载后面body的内容或者后面的其他内容,显然这样会影响网页的内容加载速度! - 标签匹配原则里,默认标签,如下,第一个标签,故引起报错:
- 加载顺序
代码 | 输出 |
---|---|
‘ | 单引号 |
“ | 双引号 |
& | 和、与 |
反斜杠 | |
n | 换行符 |
r | 回车符 |
t | 制表符 |
b | 退格符 |
f | 换页符 |
或者用实体参考:去这里查看完整版
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!