JS快速入门教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章JavaScript:Ajax的开发语言•通过上一章,读者已经了解到JavaScript是Ajax技术的主要组成部分。Ajax应用程序的客户端代码都依靠JavaScript来实现,所以,JavaScript是学习Ajax技术的必要条件。本章将详细介绍JavaScript的数据类型和值、变量、表达式、运算符、语句和函数等基本知识,并辅以实例加以说明。2.1JavaScript概述•JavaScript是一种轻量级的、解释性的程序设计语言,而且具备一定面向对象的能力。JavaScript与操作系统无关,它依赖JavaScript的解释引擎。浏览器通过内嵌JavaScript的解释引擎从而获得了对JavaScript的处理能力。通过在网页中嵌入script标签,将JavaScript脚本添加到网页中,使得网页不再是简单的静态HTML,而是包含了控制浏览器的程序、动态创建HTML内容和与用户交互的程序,即动态HTML(DHTML)。2.1.1对JavaScript的误解•一直以来,人们对JavaScript有着很多误解,在让读者进一步了解它之前,先来澄清一下,是很有必要的。•1.JavaScript不是Java的简化版•2.JavaScript并不简单•3.JavaScript、JScript与ECMAScript2.1.2JavaScript的版本•JavaScript发展到现在,经历了多次版本的更替。现在主流的浏览器中使用的版本都是基于ECMAScriptv3的实现,本书也主要针对这个版本做相关介绍。2.2数据类型和值•所有的计算机程序,都是通过操作各种不同的值(value)来运行的,而值的类型,叫做数据类型(datatype)。程序设计语言最基本的特性之一,就是它所支持的数据类型的集合。JavaScript支持三种最基本的数据类型:数字、字符串和布尔值,另外还支持两种比较特殊的小数据类型:null(空)和undefined(未定义),他们各自只被定义了一个可以被使用的值。除此之外,JavaScript还支持复合数据类型:对象、数组、函数、以及一些对象类。下面将对他们一一介绍。2.2.1数字•数字(number)是最基本的数据类型。与其他程序设计语言不同,JavaScript并不区分整型数值和浮点数值,所有的数字都是由浮点型表示的。JavaScript采用IEEE754标准定义的64位浮点格式来表示数字,所能表示的最大值为:±1.7976931348623157×10303,最小值是±5×10-324。常见使用方法如下所示。•vara=1000;•varb=3.1415926;•varc=4.14e2;•vard=3.28E-5;2.2.2字符串•字符串(string)是由单引号或者双引号括起来的Unicode字符序列,其中可以含有0个或多个字符。与C、C++或Java不同的是,JavaScript并没有char这种单个字符的数据类型,所以要表示单个字符,只能用长度为1的字符串来代替。2.2.3布尔值•布尔值(bool)只有两个值:true和false,来表示某个事务为真还是为假。在JavaScript中,布尔值通常用在作为比较的结果和流程控制中。2.2.4函数•函数(function)是一个可执行的程序代码段。函数被定义后,可以多次被程序所调用。JavaScript的函数可以带有实际参数或形式参数,用于指定这个函数执行计算的时候所需要使用到的一个或者多个值,在函数执行完后可以返回一个值来表示计算结果。2.2.5对象•对象(object)是已经命名的数据的集合,这些被命名的数据通常被作为对象的属性来使用,数据的名称是对象的属性名,而数据的值则是对象的属性值。对象的属性本身可以是任何的JavaScript数据类型。创建一个对象可以使用new关键字创建对象实例,也可以使用对象直接量的语法。2.2.6数组•数组(array)和对象一样,都是数据的集合,所不同的是,对象中每一个数据元素都有一个名字,而数组中的每一个数据元素都有一个编号(下标)。数组的下标是从0开始的。例如有一数组名字为a,则a[0]表示第一个元素,a[1]表示第二个元素,依此类推。数组的元素可以为任何JavaScript数据类型。JavaScript没有多维数组,但是数组的元素可以为其他数组。JavaScript是一种无类型的语言,所以JavaScript中数组的元素不需要具有相同的类型。2.2.7null值•JavaScript中的null关键字是一种特殊的值,它表示“没有值”。它是独一无二的,有别于所有其他类型的值。null通常用来标识和判断目标对象是否有意义。当一个变量的值为null时,就可以判断它的值不是有效的数字、字符串、布尔值、对象和数组。2.2.8undefined值•同null一样,undefined也是一种特殊的值,它的意思是“未声明的,未定义的”。当你使用了一个未声明的变量,或者使用了一个声明了但并未赋值的变量,或者使用了一个并不存在的对象的属性/方法的时候,程序就会返回这个值。有意思的是,undefined和null虽然不同,但是表达式undefined==null却是返回true,所以如果要比较undefined值和null值,需要使用全等运算符:===。2.3JavaScript的变量•变量是计算机编程中的一个重要的概念。变量是一个可以存储值的名称,这些值可以在程序运行中被改变。JavaScript的变量可以存储任何JavaScript支持的数据类型的值。本章中将向读者介绍如何使用JavaScript的变量。2.3.1变量的类型•JavaScript是一种无类型(弱类型)程序设计语言,这表示JavaScript的变量可以存放任何类型的值,而其他强类型语言,诸如C或者Java的变量,都只能存放特定类型的值。JavaScript的变量可以在程序中被先后赋予不同数据类型的值,而这在C或者Java中是不允许的。2.3.2变量的声明•使用一个JavaScript的变量之前,必须先声明它。变量的声明,使用var关键字。•vara;•varb;2.3.3变量的作用域•变量的作用域,是指在程序中定义这个变量的区域。变量按照作用域的不同,一般分为全局变量和局部变量。全局变量是指变量的作用域是全局性的,在整个应用程序中,处处都有该变量的定义,也就是在任何地方都可以使用它。局部变量的作用域是局部的,只能在局部范围内被使用。在JavaScript中,在函数内声明的变量,是局部变量,其有效范围是整个函数体。函数的参数也是局部变量。而在函数体外声明的变量,则是全局变量。参考以下代码。2.3.4基本类型和引用类型•所有的数据类型可以被分为两种:基本类型和引用类型。基本类型在内存中具有固定的大小,而引用类型则没有固定的大小。基本类型的变量,存储的是值的本身,而引用类型的变量,存储的是对值的引用。通常引用的形式,是指针或者内存地址,它告诉变量在哪里可以找到这个值。理解基本类型和引用类型的差别,对JavaScript学习是很重要的。2.4表达式和运算符•上一节为读者介绍了JavaScript的变量,本节主要介绍JavaScript的表达式和运算符。JavaScript的表达式和运算符与C、C++或者Java的很相似。如果读者是一位有经验的C、C++或者Java程序员,那么可以快速的浏览这一节的内容,如果不是,那么读者可以详细地阅读本节有关JavaScript的表达式和运算符的知识介绍。2.4.1表达式•表达式是关键字、变量、常量和运算符的组合,可以用于执行运算、处理字符或测试数据。JavaScript的解释引擎可以计算表达式,并返回一个结果值。2.4.2算术运算符•算术运算指的是数学中最基本的加减乘除等运算。JavaScript的算术运算符主要有:•1.加法运算符(+)•2.减法运算符(-)•3.乘法运算符(*)•4.除法运算符(/)•5.模运算(%)•6.递增运算符(++)•7.递减运算符(--)2.4.3相等运算符•相等运算符用来比较两个值,根据比较结果返回一个布尔值。广义的相等运算符包含:•1.相等运算符(==)•2.等同运算符(===)•3.不等运算符(!=)•4.不等同运算符(!===)2.4.4关系运算符•关系运算符用来测试两个值之间的关系,如果指定关系成立,则返回true,否则返回false。关系元算符包含:•1.比较运算符。•2.in运算符。•3.instanceof运算符。2.4.5赋值运算符•赋值运算符(=)可以将运算符右边运算数的值赋给左边的运算数,它要求左边的运算数为变量、数组的元素或者对象的属性,而右边的运算数可以为任意类型的值。2.4.6逻辑运算符•逻辑运算符通常用来做针对布尔值的操作,主要包含:•1.逻辑与(&&)运算符•2.逻辑或(||)运算符•3.逻辑非(!)运算符2.4.7字符串运算符•所有能够作用于字符串的运算符,称为字符串运算符。除了前面介绍的相等运算符和比较运算符外,字符运算符还包含“+”运算符。2.4.8其他运算符•除了上面介绍的运算符外,JavaScript还有一些其他的运算符。如:按位运算符、条件运算符、typeof运算符、new运算符、delete运算符、void运算符等等,将在使用到的时候作简单介绍。2.5语句•在上一节中向读者介绍了JavaScript常用的运算符,这一节向读者介绍JavaScript的语句。一个JavaScript程序就是若干语句的集合,每个语句都是程序的组成部分。JavaScript的语句可以分为表达式语句和复合语句。表达式语句就是一些不同的表达式,而复合语句则是可以包含其他语句的组合语句。JavaScript规定每个复合语句可以有一个子语句,可以通过大括号将多个其他语句包含起来组成语句块放入子语句中。下面是一些表达式语句。2.5.1声明变量:var语句•读者在变量一节中已经见过var的使用,var语句用来声明一个或多个变量,语法如下所示。•varname_1[=value_1][,...,name_n[=value_n]];2.5.2流程控制:if语句•JavaScript中最基本的流程控制语句,就是if语句。If语句有两种形式:if和if..else。2.5.3流程控制:elseif语句•ifelse语句可以在两个子语句中选择其中之一执行,如果需要在多条语句中选择一条语句执行,则可以使用elseif语句。elseif语句其实并不是一种真正的JavaScript语句,而是ifelse语句的一种变化形式。2.5.4流程控制:switch语句•If语句会在程序执行的流程中产生一个分支,而重复搭配使用的elseif则可以执行多个分支,当所有分支都需要重复使用一个变量时,多次的重复计算就形成了一种浪费,这个时候可以使用switch来代替。2.5.5循环:while语句•while语句允许JavaScript执行重复的动作,其基本语法如下所示。•while(表达式)•{•子语句•}2.5.6循环:do/while语句•do/while语句与while语句非常相似,所不同的是do/while是在语句底部检查表达式的值,所以其子语句至少会被执行一次。其基本语法如下所示。•do•{•子语句•}•while(表达式);2.5.7循环:for语句•for语句与while语句一样,同样用于循环操作,但是它提供了比while语句更方便的语法结构。其基本语法如下所示。•for(表达式1;表达式2;表达式3)•{•子语句•}2.5.8遍历:for/in语句•for语句还有一个不同的用法,就是与in搭配使用。其语法如下所示。•for(变量in对象)•{•子语句•}2.5.9控制语句:break语句•break语句会使程序立即跳出包含在最内层的循环或者跳出一个switch语句,它的语法如下所示。•break;2.5.10控制语句:continue语句•continue语句用于循环中,跳出当前循环而直接进入下一次

1 / 49
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功