JS高级程序设计-笔记

来源:互联网 发布:上海培训java 编辑:程序博客网 时间:2024/06/05 05:05
一个完整的JavaScript实现应该由三个不同部分组成:
1.核心(ECMAScript)
2.文档对象模型(DOM)
3.浏览器对象模型(BOM)
BOM只处理浏览器窗口和框架,但习惯上也把所有针对浏览器的JavaSCript扩展算作BOM的一部分:
1.弹出新浏览器窗口的功能;
2.移动、缩放和关闭浏览器窗口的功能;
3.提供浏览器详细信息的navigator对象;
4.提供浏览器所加载页面的详细信息的location对象;
5.提供用户显示器分辨率详细信息的screen对象;
6.对cookies的支持;
7.像XMLHttpRequest和IE的ActiveXObject这样的自定义对象。

!在使用<script>嵌入JavaSCript代码时,不要再代码中的任何地方出现“</script>”字符串。

<script>定义了6个属性:
1.async: 可选。表示应该立即下载脚本,但不妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本文件有效。
<script type="text/javascript" async src="example1.js"></script>
2.charset: 可选。表示通过src属性指定的代码的字符集。
3.defer:  可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。针对外部脚本文件。
<script type="text/javascript" defer="defer" src="example1.js"></script>
4.language: 已废弃。
5.src: 可选。表示要执行代码的外部文件,引入外部文件。
6.type:  表示编写代码使用的脚本语言的内容类型(也称MIME类型)。text/javascript已不推荐使用。

使用javascript的外部文件有以下的优点:
1.可维护性:把所有JavaScript文件放在一个文件夹中便于维护。
2.可缓存:文件只需下载一次。加快页面加载的速度。
3.适应未来

使用文档类型(doctype)切换实现文档模式。混杂模式和标准模式。混杂模式会让IE的行为与IE相同,而标准模式让IE的行为更接近标准行为。
如果在文档开始处没有发现文档类型声明,则所有浏览器都会默认开启混杂模式。

<noscript>元素在浏览器不支持脚本和浏览器支持脚本但脚本被禁用两种情况下被显示。

<script>元素会按照他们在页面中出现的先后顺序依次被解析。在不使用defer和async属性的情况下,只有在解析完前面的<script>代码后才会开始解析后面的。

标识符指变量、函数、属性的名字,或者函数的参数,标识符的
第一个字符必须是一个字母、下划线或者一个美元符号;
其他字符可以是字母、下环线、美元符号或数字。

ECMAScript5引入严格模式,严格模式为js定义一种不同的解析与执行模型,使ECMAScript3中的一些不确定的行为得到处理,而且对某些不安全的操作也会抛出错误。为了在脚本中使用严格模式,可以在代码中添加:
"use strict";
这行代码是一个编译指示,用于告诉支持的JS引擎切换到严格模式。为了不破环ECMAScript3语法特意选择这种语法。

语句:ECAMScript中的语句以一个分号结尾;
ECMAScript中的变量是松散类型的,就是可以用来保存任何类型的数据。每个变量仅仅是一个用于保存值的占位符而已。未经初始化的变量会保存一个特殊的值-undefined。

ECMAScript中有5种简单数据类型:Undefined、Null、Boolean、Number和String。还有复杂数据类型:Object。
可以使用typeof来负责检测给定变量的数据类型。使用typeof操作符可能会返回:
1."undefined"-如果这个值为定义;
2."boolean"-如果这个值是布尔值;
3."string"-如果这个值是字符串;
4."number"-如果这个值是数值;
5."object"-如果这个值是对象或者null;
6."function"-如果这个值是函数。
!typeof是一个操作符
0 0
原创粉丝点击