JavaScript高级程序设计1--简介及基本概念

一、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基础知识点总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值