JS高级程序设计1-2章

1、一个完整JS的实现应该由下列三个不同的部分组成:

(1)核心(ECMAScript)

(2)文档对象模型(DOM)

(3)浏览器对象模型(BOM)

2、使用<script>元素的方式有两种:直接在页面中嵌入JS代码和包含外部的JS文件

记住:不要在代码中的任何地方出现"</script>"   如必须出现,解决方法:通过转移字符“\”解决   “<\/script>”

如果要通过<script>元素来包含外部JS文件,那么src属性就是必须的。同时不应该在<script>和</script>之间加入任何JS代码

3、无论如何包含代码,只要不存在defer和async属性,浏览器就会按照<script>元素在页面中出现的先后顺序对他们进行解析。

现在Web应用成簇一般都把全部JS引用放在<body>元素页面内容的后面。 这样在解析JS代码之前,页面的内容将全显示在页面上。

4、延迟脚本  是在<script>元素中设置defer属性,相当于告诉浏览器立即下载,但是延迟执行

defer属性只适用于外部脚本文件     但是HTML5会忽略嵌入的defer属性

5、异步脚本     async只适用于外部脚本文件,并告诉浏览器立即下载文件   标记文async的脚本并不保证按照指定他们的先后顺序执行    建议

不要在加载期间修改DOM,异步脚本一定会在页面的load时间前执行,但可能会在DOMContentLoaded时间触发之前或者之后执行。

6、使用<nonscript>元素可以指定在不支持脚本的浏览器中显示替代的neir,但是启用了脚本的情况下,浏览器不会显示<nonscript>元素中的任何内容。

时间: 2024-10-11 10:27:51

JS高级程序设计1-2章的相关文章

JS高级程序设计(1-3章笔记)

第一章    JavaScript简介 1.1    JavaScript简史 1995.02- 公司:Netscape 主要人物:就职于Netscape的Brendan Eich(布兰登.艾奇) 事件:为Netscape Navigator 2开发一种名为LiveScript的脚本语言 1995.02-前夕 公司:Netscape 事件:临时将LiveScript改名为JavaScript 1995.02+ JavaScript1.0获得巨大成功 1996.08 公司:微软 IE3加入名为JS

JS 高级程序设计 第三章

1.标识符: 标识符,是指变量.函数.属性的名字,或者函数的参数. 标识符的命名规则: (1)第一个字符必须是字母.下划线或者美元符号 (2)其他字符可以是字母.下划线.美元符号和数字. 修改变量值的同时可以修改值的类型 2.用var操作符定义的变量将成为定义该变量的作用域中的局部变量,省略var将建立一个全局变量. 3.ECMAScript中有五种简单的数据类型:Undefined.Null.Boolean.Number.String,还有一种复杂的数据结构-Object,它的本质是一组由无序

js 高级程序设计 第四章总结

变量,作用域和内存问题 ES变量包含两种不同数据类型的值,基本类型和引用类型. 基本类型有五种:Undefined, Null, Boolean, Number, String. 引用类型是保存在内存中的对象. 我们在访问基本类型和引用类型的时候会有一些差别. 1.1.1 复制变量值 var num1 = 5; var num2 = num1; 此时内存中 num1 和 num2 是完全独立的,修改任一个变量的值对另一个变量都不会有影响.因为 5 是一个基本类型值,从一个变量向另一个变量复制基本

读书笔记 - js高级程序设计 - 第七章 函数表达式

闭包 有权访问另一个函数作用域中的变量的函数 匿名函数 函数没有名字 少用闭包 由于闭包会携带包含它的函数的作用域,因此会比其它函数占用更多的内存.过度使用闭包可能会导致内存占用过多,我们建议读者只在绝对必要时再考虑使用闭包 模块模式   增强的模块模式   特权方法 有权访问私有变量的公有方法叫做特权方法 块级作用域   实现单例的特权方法  

读书笔记 - js高级程序设计 - 第四章 变量 作用域 和 内存问题

5种基本数据类型 可以直接对值操作 判断引用类型 var result = instanceof Array 执行环境 每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中 执行环境的销毁 某个执行环境中的所有代码执行完毕后 该环境被销毁 保存在其中的所有变量了函数定义也会随之销毁 作用域链中的对象 全局执行环境的变更对象始终都是作用域链中的最后一个对象 没有块级作用域 if 和 for 内的变量 外部也可以访问 标记清除 不同浏览器 只不过垃圾时间的长短不同 引

读书笔记 - js高级程序设计 - 第三章 基本概念 -

启用严格模式 "use strict" 这是一个 pragma 编译指示 让编码意图更清晰  是一个重要原则 5种简单数据类型 Undefined Null Boolean Number String 1种复杂数据类型 Object 检测数据类型的方法 typeof 有如下值: undefined boolean object string number function typeof Null object 意在保存对象还没有保存对象的变量的初始值最好是什么 null 八进制的第一位

读书笔记 - js高级程序设计 - 第六章 面向对象的程序设计

EcmaScript有两种属性 数据属性 和 访问器属性 数据属性有4个特性 Configurable Enumerable Writable Value 前三个值的默认值都为false 举例 Object.defineProperty( person, "name", { writable:false, value:"niko"} ) ; 一旦属性定义为不可配置的,就不能再把它变回可配置的了 读取属性 的特性 var descriptor  = Object.ge

读书笔记 - js高级程序设计 - 第十一章 DOM扩展

对DOM的两个主要的扩展 Selectors API HTML5 Element Traversal 元素遍历规范 querySelector var body = document.querySelector("body"); var myDiv = document.querySelector("#myDiv"); 取得id为myDiv的元素 var selected = document.querySelector(".selected")

JS高级程序设计第3章读书笔记

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> </body> <script> //一元加和减操作符 var s1='01'; var s2='1.1'; var s3='z'; var b=fal

读书笔记 - js高级程序设计 - 第十五章 使用Canvas绘图

读书笔记 - js高级程序设计 - 第十三章 事件 canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好 有时候即使浏览器支持,操作系统如果缺缺乏必要的绘图驱动程序,则浏览器即使支持了也没用   <canvas> var drawing = document.getElementById("drawing"); if( drawing.getContext ){ drawing.getContext("2d"