JavaScript高级程序设计1--简介及基本概念
2016-12-03 14:12
441 查看
一、JavaScript简介
JavaScript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成。
(1)ECMAScript,由ECMA-262定义,提供核心语言功能;
(2)文档对象模型(DOM),提供访问和操作网页内容的方法和接口;
(3)浏览器对象模型(BOM),提供与浏览器交互的方法和接口。
二、在HTML中使用JavaScript
使用<script>元素可以把JavaScript嵌入到HTML页面中,让脚本与标记混合在一起,也可以包含外部的JavaScript文件,注意事项如下:
1.包含外部的JavaScript文件时,必须将src属性设置为指向相应文件的URL,这个文件既可以是与包含它的文件位于同一个服务器上的文件,也可以是其它任何域中的文件。
2.使用defer属性可以让脚本在文档完全呈现之后再执行,延迟脚本总是按照指定它们的顺序来执行。只对外部脚本有效。
3.使用async属性可以表示当前脚本不必等待其它脚本,也不必阻塞文档呈现。同样只对外部脚本有效,不能保证异步脚本按照它们在页面中出现的顺序执行。
4.在不使用defer和async属性的情况下,所有<script>元素都会按照它们在页面中出现的先后顺序依次被解析。
5.由于浏览器会先解析完不使用defer属性的<script>元素中的代码,然后再解析后面的内容,所以一般把<script>元素放在页面后面,</body>标签前面。
6.文档模式是通过使用(doctype)切换实现的,最初是:混杂模式和标准模式,后来IE提出:准标准模式,无文档类型声明时,所有浏览器会默认开启混杂模式。
标准模式的文档类型:严格型;
准标准模式的文档类型:过渡型(transitional)和框架集型(frameset)。
7.使用<noscript>元素可以指定在不支持脚本的浏览器中显示的替代内容,但在启用了脚本的情况下,浏览器不会显示<noscript>中的内容。
JavaScript是ECMAScript在Web浏览器中的实现,下面简要总结了ECMAScript中的基本要素。
1.ECMAScript中的基本数据类型包括Undefined、Null、Boolean、Number和String。
typeof操作符:可检测变量的数据类型。如typeof(“message”)//返回string
Undefined类型:只有一个值的数据类型,即undefinrd,在使用var声明变量但未初始化时,变量的值就为undefined;
Null类型:同样是只有一个值的数据类型,即null,null值表示一个空对象指针;
Boolean类型:只有两个字面值:true和false;
Number类型:表示整数和浮点数,三个函数:Number()、parseInt()和parseFloat()可以将非数值转换为数值;
String类型:表示由0或多个16位Unicode字符组成的字符序列,转换为字符串的方法:toString()。
2.与其他语言不同,ECMAScript没有为整数和浮点数值分别定义不同的数据类型,Number类型可以用于表示所有数值。
3.ECMAScript中也有一种复杂的数据类型,即Object类型,它是这门语言中所有对象的基础类型。
创建Object类型的实例:var o=new Object()
Object实例的属性和方法:constructer、hasOwnProperty(propertyName)、isPrototypeOf(object)、propertyIsEnumerable(propertyName)、toLocaleString()、toString()、valueOf();
4.严格模式为这门语言中容易出错的地方施加了限制。启用时在脚本顶部添加:“use strict”;
5.ECMAScript提供了与许多其它语言中相同的基本操作符,包括算术操作符、布尔操作符、关系操作符、相等操作符和赋值操作符等。
6.ECMAScript借鉴了许多其它语言中的流控制语句,例如if语句、for语句和switch语句等。
7.未指定返回值的函数返回的是一个特殊的undefined值。
8.ECMAScript中也没有函数签名的概念,因为其函数参数是以一个包含零或多个值的数组的形式传递的。
9.可以向ECMAScript函数传递任意数量的参数,并且可以通过arguments对象来访问这些参数。
10.由于不存在函数签名的特性,ECMAScript函数不能重载。
JavaScript的详细基础内容可参考另一篇博文:JavaScript基础知识点总结
JavaScript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成。
(1)ECMAScript,由ECMA-262定义,提供核心语言功能;
(2)文档对象模型(DOM),提供访问和操作网页内容的方法和接口;
(3)浏览器对象模型(BOM),提供与浏览器交互的方法和接口。
二、在HTML中使用JavaScript
使用<script>元素可以把JavaScript嵌入到HTML页面中,让脚本与标记混合在一起,也可以包含外部的JavaScript文件,注意事项如下:
1.包含外部的JavaScript文件时,必须将src属性设置为指向相应文件的URL,这个文件既可以是与包含它的文件位于同一个服务器上的文件,也可以是其它任何域中的文件。
<script type="text/javascript" src="http://www.somewhere.com/afile.js"></script>
2.使用defer属性可以让脚本在文档完全呈现之后再执行,延迟脚本总是按照指定它们的顺序来执行。只对外部脚本有效。
<script type="text/javascript" defer="defer" src="example.js"></script>
3.使用async属性可以表示当前脚本不必等待其它脚本,也不必阻塞文档呈现。同样只对外部脚本有效,不能保证异步脚本按照它们在页面中出现的顺序执行。
<script type="text/javascript" async src="example.js"></script>
4.在不使用defer和async属性的情况下,所有<script>元素都会按照它们在页面中出现的先后顺序依次被解析。
5.由于浏览器会先解析完不使用defer属性的<script>元素中的代码,然后再解析后面的内容,所以一般把<script>元素放在页面后面,</body>标签前面。
6.文档模式是通过使用(doctype)切换实现的,最初是:混杂模式和标准模式,后来IE提出:准标准模式,无文档类型声明时,所有浏览器会默认开启混杂模式。
标准模式的文档类型:严格型;
准标准模式的文档类型:过渡型(transitional)和框架集型(frameset)。
7.使用<noscript>元素可以指定在不支持脚本的浏览器中显示的替代内容,但在启用了脚本的情况下,浏览器不会显示<noscript>中的内容。
<noscript> <p>本页面需要浏览器支持(启用)JavaScript</p> </noscript>三、基本概念
JavaScript是ECMAScript在Web浏览器中的实现,下面简要总结了ECMAScript中的基本要素。
1.ECMAScript中的基本数据类型包括Undefined、Null、Boolean、Number和String。
typeof操作符:可检测变量的数据类型。如typeof(“message”)//返回string
Undefined类型:只有一个值的数据类型,即undefinrd,在使用var声明变量但未初始化时,变量的值就为undefined;
Null类型:同样是只有一个值的数据类型,即null,null值表示一个空对象指针;
Boolean类型:只有两个字面值:true和false;
Number类型:表示整数和浮点数,三个函数:Number()、parseInt()和parseFloat()可以将非数值转换为数值;
String类型:表示由0或多个16位Unicode字符组成的字符序列,转换为字符串的方法:toString()。
2.与其他语言不同,ECMAScript没有为整数和浮点数值分别定义不同的数据类型,Number类型可以用于表示所有数值。
3.ECMAScript中也有一种复杂的数据类型,即Object类型,它是这门语言中所有对象的基础类型。
创建Object类型的实例:var o=new Object()
Object实例的属性和方法:constructer、hasOwnProperty(propertyName)、isPrototypeOf(object)、propertyIsEnumerable(propertyName)、toLocaleString()、toString()、valueOf();
4.严格模式为这门语言中容易出错的地方施加了限制。启用时在脚本顶部添加:“use strict”;
5.ECMAScript提供了与许多其它语言中相同的基本操作符,包括算术操作符、布尔操作符、关系操作符、相等操作符和赋值操作符等。
6.ECMAScript借鉴了许多其它语言中的流控制语句,例如if语句、for语句和switch语句等。
7.未指定返回值的函数返回的是一个特殊的undefined值。
8.ECMAScript中也没有函数签名的概念,因为其函数参数是以一个包含零或多个值的数组的形式传递的。
9.可以向ECMAScript函数传递任意数量的参数,并且可以通过arguments对象来访问这些参数。
function argumentsTest(){ alert(arguments.length);//获取传入的参数的个数 if(arguments.length==2) alert("传入两个参数:"+arguments[0]+"和"+arguments[1]); }
10.由于不存在函数签名的特性,ECMAScript函数不能重载。
JavaScript的详细基础内容可参考另一篇博文:JavaScript基础知识点总结
相关文章推荐
- javascript高级程序设计(第3版) 读书笔记1 基本概念
- javascript高级程序设计笔记-第三章(基本概念)
- JavaScript高级程序设计之基本概念之语法 第3.1讲笔记
- JavaScript高级程序设计之基本概念之操作符之加性操作符第3.5.5讲笔记
- JavaScript高级程序设计之基本概念之操作符之一元操作符第3.5.1讲笔记
- JavaScript高级程序设计学习总结一(基本概念总结)
- JavaScript高级程序设计 第三章 --- 基本概念
- JavaScript高级程序设计之基本概念之关键字和保留字 第3.2讲笔记
- Javascript高级程序设计——基本概念(一)
- JavaScript高级程序设计之基本概念之操作符之乘性操作符第3.5.4讲笔记
- JavaScript高级程序设计之基本概念之相等操作符第3.5.8讲笔记
- JavaScript高级程序设计之基本概念之相等操作符第3.5.7讲笔记
- 学习 javascript高级程序设计 (第3版)--基本概念
- JavaScript高级程序设计之基本概念之变量第3.3讲笔记
- JavaScript 高级程序设计——第三章基本概念 学习笔记
- JavaScript高级程序设计学习笔记--基本概念
- JavaScript高级程序设计--基本概念--笔记
- 读书笔记 JavaScript高级程序设计 第三章 基本概念-语法
- JavaScript高级程序设计之基本概念之操作符之位操作符第3.5.2讲笔记
- JavaScript高级程序设计之基本概念之数据类型第3.4讲笔记