zoukankan      html  css  js  c++  java
  • JavaScript读书笔记(1)

    从今天开启每天看书记笔记模式,《JavaScript高级程序设计(第3版)》

    1、 Javascript最初是为了解决输入验证器的问题,现在已经发展成一门复杂的语言;

    2、  语言标准为ECMAScript(ek-ma-script),一个完整的Javascript有三部分组成:

    核心(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)

    (1)       ECMAScript规定了Javascript语言的组成部分:语法、类型、语句、关键字、保留字、操作符、对象;

    ECMAScript第5版-包括原生JSON对象(用于解析和序列化JSON数据)、继承的方法和高级属性定义、严格模式对ECMAScript的引擎解释和执行代码进行了补充。

    (2)       DOM是针对XML但经过扩展用于HTML的应用程序编程接口;DOM把整个页面映射为一个多层节点结构,HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含不同类型的数据;

    DOM级别:

    DOM1-映射文档结构

    DOM2-视图(跟踪不同文档视图的接口)、事件(事件和事件处理的接口)、样式(基于CSS为元素应用样式的接口)、遍历和范围(遍历和操作文档树的接口)

    DOM3-统一方式加载和保存文档,新增验证文档的方法;

    (3)       BOM可以访问和操作浏览器窗口,可以控制浏览器显示的页面以外的部分

    BOM处理浏览器窗口和框架,以及一些针对浏览器的Javascript扩展;

    如弹出新浏览器窗口、移动缩放和关闭浏览器窗口、提供浏览器详细信息的navigator对象、提供浏览器所加载页面的详细信息的location对象、提供用户显示器分辨率详细信息的screen对象、对cookies的支持、像XMLHttpRequest和IE的ActiveXObject这样的自定义对象;

    3、<script>元素属性

    async:可选,在不影响页面其他操作的情况下,立即下载脚本,只对外部脚本文件有效;

    charset:可选,src属性指定代码的字符集,现在很少用;

    defer:可选,外部脚本文件可以延迟到文档完全被解析和显示之后再执行;

    language:已废弃;

    src:可选,要执行代码的外部文件;

    type:可选,一般为text/javascript,默认也是这个;

    (1)       直接在页面中嵌入Javascript代码,如下所示

    <script type="text/javascript> function sayHi(){ alert("Hi");}</script>

    Javascript代码从上到下执行,上面代码中,解释器会把函数的定义保存在自己的环境中,在解释器对<script>元素内部的所有代码求值完毕以前,页面中的其余内容不会被浏览器加载或显示;

    (2)       加载外部Javascript脚本

    <script src="try.js" type="text/javascript"></script>

    标签之间不准包含额外的Javascript代码,若包含,会被忽略;

    也可以包含来自外部域的Javascript代码

    <script src="http://www.***./try.js" type="text/javascript"></script>

    只要不存在defer和async属性,浏览器会按照<script>元素在页面中出现的先后顺序对它们进行解析;

    加载外部脚本文件时,一般会把<script>标签放到body元素的最后位置;

    (3)       延迟脚本

    <script src="try.js" type="text/javascript" defer="defer"></script>

    脚本立即下载,但延迟执行;

    (4)       异步脚本

    <script src="try.js" type="text/javascript" async ></script>

    标记为async的脚本并不保证按照它们的先后顺序执行,制定async属性的目的是不让页面等待两个脚本下载和执行,从而异步加载页面其他内容;

    (5)       <noscript>元素可以指定在不支持脚本的浏览器中显示的替代内容,但在启用了脚本的情况下,浏览器不会显示<noscript>元素中的任何内容;

                  <noscript> <p>本页面需要浏览器支持(启用)JavaScript.</p></noscript>

  • 相关阅读:
    Geogebra指令
    大表修改表结构
    mongodb获取配置参数getParameter
    mysql的binlog增量日志解析,提供增量数据订阅和消费
    chaosblade-exec-os项目的burnio.go文件解读
    mysql的where条件中的字段不要加函数
    mysql释放大表空间的正确之道
    mysql服务器问题
    purge binary logs to 'mysql-bin.039790';
    golang操作mysql数据库的规范
  • 原文地址:https://www.cnblogs.com/xyl-share-happy/p/4547743.html
Copyright © 2011-2022 走看看