JavaScript高级程序设计 - 笔记

第三章 基本概念

1. <Script> 元素

       <Script>的属性:

              async: 表示应该要以立即下载脚本 ,但不妨碍页面中的其他操作.

              defer: 脚本可以延迟到文档完全被解析和显示后再执行,只对外部脚本文件有效.

 

引用js文件格式如下:

<script type="text/javascript" defer="defer" async="true/false" src="js文档地址"></script>

defer="defer":该属性用来通知浏览器,这段脚本代码将不会产生任何文档内容。例如JavaScript代码中的document.write()方法将不会骑作用,浏览器遇到这样的代码将会忽略,并继续执行后面的代码。属性只能是defer,与属性名相同。在HTML语法格式下,也允许不定义属性值,仅仅使用属性名。

async="true/false":该属性为html5中新增的属性,它的作用是能够异步地下载和执行脚本,不因为加载脚本而阻塞页面的加载。一旦下载完毕就会立刻执行。

asyncdefer一样,都不会阻塞其他资源下载,所以不会影响页面的加载,但在async的情况下,js文档一旦下载完毕就会立刻执行,所以很有可能不是按照原本的顺序来执行,如果js有依赖性,就要注意了

如下图:

 

deferasync的区别: 下载后是否立即执行为主要区别

2. 在使用<script>嵌入代码时, 不要在代码中的任何地方出现</script>字符串, 否则会出现无法正确解析的错误, 如

<script>

function something() {

alert(“</script>”) // 错误

}

3. 在页面中创建一个<noscript>本页面不支持javascript</noscript>, 用于在不支持javascript的浏览器上显示替代的内容.

4. 文档模式分为标准模式和混杂模式, 混杂模式会让IE的行为与IE5相同, 其主要影响css内容的呈现.

5. typeof (null) === "object"

6. Boolean 类型, Boolean('False') === true; 输入任何非空字符都为true, 输入任何非0和NaN的Number类型都为true.

7. Number 类型, var x = 56, 十进制, x =  070 八进制以0开头, x = 0xFF 16进制以0x开头.

  JavaScript小数在做四则运算时,精度会丢失,如:alert(0.09999999 + 0.00000001);//弹出: 0.09999999999999999

  0.1 + 0.2  === 0.30000000000000004

  任何涉及NaN的计算都返回NaN, 比如 NaN + 3 === NaN

  NaN 与任何值都不相等, NaN == NaN // false;

8. parseInt('12', xxx)//当存在第二个参数时, 会把它做为进制如parseInt('011', 8) 8进制

9. Number.toString(x) 方法的参数表示输出值的基数, 该参数仅对输入为数据时有效, 如 (20).toString(16) // 输出1F

10. Object

  Object每个实例都有以下几个属性:

    constructor: 创建当前对象的函数.

    hasOwnProperty(name) 检查给定属性是否在当前对象中存在.

    isPrototypeOf(object)

    propertyIsEnumerable (propertyName) 用于检查给定属性是否能使用for in语句来枚举.

    valueOf() 返回对象的字符串, 数值 或 bool 值.

11. with 语句

  作用是当当前代码的作用域设置到一个特定的对象上.

  如 with(window.location){console.log(href)} //当前作用域改为window.location. href可以直接调用.

 


 

posted on 2015-05-09 18:48  老佐  阅读(124)  评论(0)    收藏  举报

导航