Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1-JavaScript和HTML #5

Open
Ogurimuio opened this issue Feb 23, 2019 · 0 comments
Open

1-JavaScript和HTML #5

Ogurimuio opened this issue Feb 23, 2019 · 0 comments
Assignees
Labels
JavaScript something about JavaScript 读书笔记 整理书籍知识点

Comments

@Ogurimuio
Copy link
Owner

JavaScript

一种专为与网页交互而设计的脚本语言

包含以下三个部分:

  • ECMAscript,由ECMA-262定义,提供核心语言功能

  • 文档对象模型(DOM),提供访问和操作网页内容的方法和接口

  • 浏览器对象模型(BOM),提供与浏览器交互的方法和接口

###JavaScript和HTML

在HTML中插入Javascript

使用Script元素

<script type="text/javascript">
    function sayHi(){
        alert("Hi");
    }
</script>
/*直接嵌入*/
<script type="text/javascript" src="example.js"></script>
/*间接嵌入*/
/*或者(XHTML支持,HTML不支持)*/
<script type="text/javascript" src="example.js" />
  • 内容中不可包含</script>,如需要,需写成</script>

  • src可以是外部js文件,如:

  • <script type="text/javascript" src="http://www.somewhere.com/afile.js"></script>

    script中不可嵌套script

  • script属性除了type、src还包括

    • async:立即下载脚本,不妨碍其他操作。(外部有效)
    • defer:脚本可延迟到文档被解析和显示后再执行。(外部有效)
    • charset:很少用,会被浏览器忽略。
  • 如果没有async、defer。则按顺序依次解析。

插入的位置

  1. 在head中插入:必须等全部js代码被下载和解析执行完成后,才能呈现页面内容。

  2. 在body的最后插入:可以先呈现也页面内容,后解析js代码。

  3. 在head中插入,但加上defer属性,则可延迟到页面解析后再执行。但只适用于外部脚本文件。

    <head>
        <script defer="defer" src="example.js"></script>
    </head>
  4. 在head中插入,但加上async属性,则页面无需等候该脚本的下载,从而异步加载页面其他内容。但只适用于外部脚本文件。

    <head>
        <script async src="example.js"></script>
    </head>

XHTML比HTML严格的多

比如<小于号在XTML中会报错,(被看作<>中的开始)。那么就需要一些方法来将其替换成XHTML也可以读懂的代码。

  1. 用相应的HTML实体(&lt;)代替所有<小于号。

    if(a &lt; b)
    {
    	alert("a");
    }
  2. 用CData片段来包含所有js代码。

    <script>
        <![CDATA[
            function compare(a,b)
            {
                if(a<b)
                {
                    alert("a");
    			}
            }
        ]]>
    </script>

使用noscript元素

——浏览器不支持javascript时的平稳退化

仅仅在不支持JavaScript时才显示出来

<head>
	<script src="example.js"></script>
</head>
<body>
    <noscript>
    	<p>
            本页面需要浏览器支持JavaScript。
        </p>
    </noscript>
</body>
@Ogurimuio Ogurimuio added the JavaScript something about JavaScript label Feb 23, 2019
@Ogurimuio Ogurimuio self-assigned this Feb 26, 2019
@Ogurimuio Ogurimuio added the 读书笔记 整理书籍知识点 label Feb 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
JavaScript something about JavaScript 读书笔记 整理书籍知识点
Projects
None yet
Development

No branches or pull requests

1 participant