JavaScript学习心得

一个新手
Lepaskan: 2017-09-06 10:43:16
asal
3482 orang telah melayarinya

一、前言:

前段时间看红宝书(JavaScript高级程序设计),但没有计划的去看,也没有做详细的笔记,读了之后有点空虚,感觉不对劲啊,学的东西很难记住,印象不深啊,有种挫败感,作前端的js都学不好怎么做前端。后端都学js了,你说死不死。

因此吾阅之,再阅之,并决心记之以博客,以增强印象,作得读书笔记,以便日后翻看及供大家参阅与讨论。

温馨提示:笔记言辞会有主观色彩,知识重点记录。

二、JavaScript历史

  • 起源:话说在上世纪末1995年,Netscape公司推出Navigator浏览器。人家公司有追求,不单单能实现静态HTML,人家还想要有动态效果,还想着能去处理表单的验证,不要老是等到后台那边才知道表单输入合不合法,特别在那个年代,一次一等就上分钟,现在我们等上个十秒都想关掉它是不是,嘴边还吐槽着什么破网站。

  • 动手:有目标就去做,Netscape公司大牛多,Brendan Eich 用10天(网上说10天)就把JavaScript搞了出来,刚出来时叫LiveScript,为了蹭蹭当红明星Java热度,就改成JavaScript了,所以事实上他们两没啥关系。

  • 竞争:看到Netscape公司有了js,微软感觉不行啊,我的IE要被干掉啊,同时也感到js的前途无量,于是弄了个名为JScript的JavaScript的实现。

  • 标准: Netscape和微软竞争出现的js导致版本的不一致,随着业界的担心,JavaScript的标准化被提上议事日程。ECMA组织就去干这事,最后在弄出97年了ECMAScript作为标准。这里ECMAscript和JavaScript可以看做表达同一个东西

三、ECMAScript

ECMAScript(以下简称ES)由ECMA-262制定,ES的主要是语言的语法基础,是一种标准的存在。如果硬要区分ES和JS,ES是语言基础标准,而JS就是在这标准的基础上所实现的语言。

关于ES版本:ES从1997年制定好到现在已经经历很多版本,前面的版本都是一些小的修改。重要版本:

  • ES3,第三个版本,是对标准的第一次真正意义上修改

  • 2009年的ES5是当前各大流行浏览器所支持的

  • 2015年出版的ES6也流行起来。

  • 2015年后的每年也出版本,但浏览器还没能够支持。

四、JavaScript实现

javascript由三部分组成:

1.ECMAScript :核心部分,是js的语法基础,后面会继续写其语法。
2.DOM(文本对象模型) :用于操作HTML文档的应用编程接口。关于DOM:

  • DOM的出现使得动态HTML(DHTML)得以实现,可以不用重新加载页面而改变网页的外观和内容。

  • DOM带来的问题:主要是兼容性方面,Netscape和微软各抒己见,使得浏览器不兼容的局面产生。未解决此问题W3C着手规划DOM

  • DOM级别:DOM1,DOM2,DOM3 ,这里的级别相当于DOM的版本一样,代表着DOM在不断的完善,现在最新是DOM3

3.BOM(浏览器模型) :使用BOM可以控制浏览器显示的页面以外的部分

五、JavaScript使用:

(1)标签属性:在网页中使用js关键的是使用<script>标签,其有6个属性:

  1. async:可选,表示立即下载脚本,但不妨碍页面中的其他操作。也就是异步脚本,只适用于外部脚本文件。

  2. defer:可选,表示脚本可以延迟到文档完全被解析和显示后在执行。也就是延迟脚本,只适合与外部脚本文件。

  3. src:可选,表示包含要执行代码的外部文件。

  4. type:默认text/Javascript。默认执行js,可以不用指定。

  5. charset:可选,表示通过src属性指定代码的字符集,大多数浏览器会忽略它的值,很少人使用。

  6. language:已废弃
    常用就前4个

(2)使用:使用<script > :有两种操作:

1. 直接在标签内写入代码,即在html中内嵌代码,这种方式不推荐。如:


<script>
 function helloWorld(){
    alert("hello world!");
 }
 helloWorld();</script>
Salin selepas log masuk
2. 另一种通过src属性引入外部的文件。


<script src="js/hello.js"></script>
Salin selepas log masuk

尽可能使用外部引用js文件,优点:

  • 可维护性:内嵌代码在html中,维护困难且可读性差,在js单独的文件中维护将轻松的多。

  • 可缓存:浏览器可以根据具体的设置缓存链接的所用外部js文件

  • 适应未来:通过外部文件来包含js无须对XHML的特别处理和注释hack。HTML和XHTML的包含文件的语法相同。

特别注意:<script>在使用了src属性后,不要在内嵌代码,此时的内嵌的代码不会被执行。只会执行src对应文件的代码。

(3)位置:关于<script> 在HTML文档中的位置:

在HTML4中规定<script> 标签可以放在 <head><body> 标签内。
由于浏览器解析HTML文档是由上到下,且在遇到<script> 标签后会先解析和执行js代码,并中断HTML的加载,所以放在<head> 标签中是会使得HTML文档可视内容中断加载。
画重点:所以<script> 标签的位置首考虑放在<body> 标签底部。例如:


<html>
    <head>
       <title>hello js</title>
    </head>
    <body>
        <p>hello js!</p>
        <!-- js文件放在body底部 -->
        <script src="example.js"></script>
    </body></html>
Salin selepas log masuk

六、JavaScript的平稳退化方案

什么是平稳退化:就是有些浏览器不支持js,当然现在几乎没有浏览器这么菜啦,还有就是js功能被禁用。这时就需要没有js的情况下你的网页怎么友好一点交互,不会搞得太难看,太尴尬。
使用<noscript> 标签,应用场景:

  • 浏览器不支持JavaScript

  • 浏览器支持脚本,但脚本被禁止了

例子:当浏览器不支持js或禁用js时就会显示出noscript标签中的内容,若浏览器能执行js则noscript就被隐藏。


<html>
    <head>
        <script src="example.js"></script>
    </head>
    <body>
        <noscript>
         <p>本页面需要浏览器支持JavaScript</p>
        </noscript>
    </body></html>
Salin selepas log masuk

Atas ialah kandungan terperinci JavaScript学习心得. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan