您的位置:首页 > Web前端 > JavaScript

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,这个文件既可以是与包含它的文件位于同一个服务器上的文件,也可以是其它任何域中的文件。

<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基础知识点总结
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: