现在的位置: 首页 > 综合 > 正文

系统学Javascript——基本语法

2013年09月16日 ⁄ 综合 ⁄ 共 2322字 ⁄ 字号 评论关闭


数据类型

字符串(String

如果字符串本身含有双引号,则收尾需用单引号括起来;如果收尾是双引号时,则双引号中可以包含成对的单引号

如:alert'这里可以使"双引号"';

 

数字(Number

两种类型:整型和浮点型。

Javascript中还有一个特殊类型的数字值NaN(Not a number),即“不是一个

数字”,当在程序因为某种原因运算后产生的结果时一个没有意义的数学操作时,则

JavascriptNaN表示这个无意义的结果。

 

布尔值(Boolean

 

空值

空值就是null,它不表示任何东西,只是在某些时候用到,例如可用来为变量提供初值。

 

未定义值

undefined,表示未定义类型。例如:

<script type="text/javascript">

Var a;

alert(typeof(a))  // undefined。因为在初始化时才确定具体类型,后面会说到弱类型的特点。

alert(a==null);   // true

</Script>

 

变量——内存中存储单元的标识

声明

声明变量name和age可以写在一行,即var name,age。这种方式使得代码阅读性更好一些。另外,还可以将变量声明和赋值工作放在一行中来实现。例如,var name"小海",age=23

 

为啥总用var 声明:由于Javascript采用弱类型的形式,对数据类型要求不太严格,在Javascript中一个变量的数据类型是在使用或赋值时确定的。在程序执行的过程中,javascript会根据需要自动进行类型转换工作。

 

所以,变量也可以不是事先声明,直接使用,如name = "小海"
// 
给变量name赋值,值的类型为字符型

 

所以,一个变量如果只是声明了,但没有赋初值,这样的变量虽然存在,却处于未确定类型状态,也就是undefined类型,如果直接使用它,可能导致程序出错。

 

类型转换

类型转换符Number和String。Number(x)是将字符型值转换为数字型值,而String(x)则将数字型值转换为字符型值相对于Javascript的自动类型转换,可以将这种转换称为强制类型转换

 

命名

(l)变量名必须以字母或下划线(_)开始,接下来可以是数字0~9、字母A~Za~z

下划线(_)。

(2)变量名不能使用空格、加号(+)、减号(一、逗号(,)等其他符号。

(3)不能使用JavascriPt中的保留字作为变量名,例如,var就是Javascpt的一个保

留字。

(4)JavascriPt的变量名是区分大小写的。例如,str与Str分别代表两个不同的变量。

 

表达式和运算符

算术

+(加)、一(减)、*(乘)、/(除)、%(取模运算)、++(增量运算)、--(减量运算)和一(取

反运算)。

 

逻辑:&&||、!

 

比较

<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、==(等于)、!=(不等于)

 

赋值:=

 

字符串:+

 

条件

(?:)三目运算符。格式:条件表达式?A:B.工作原理:如果条件表达式的值为真,则整个表达式的值就是A,否则整个表达式的值就取B

例如,status =age >=18) ? "adult" : "child";

 

typeof()

用来返回一个变量或者数据的类型。例如,返回number.表明数据是数

字型的;返回string,表明数据是字符串型的;返回boolean,表明数据是布尔值;返回

function,表明数据是函数或对象;返回undefined,表明变量是未定义的;

 

数组

创建

方式1:固定长度

a.一般:

var week = new Array(7); // 7个元素,下标从0开始

 

b.快速:

还可以在创建数组时直接将值放到 new Array()括号,这实际上是直接对数组单元赋值。这样做比前面的方法要快很多,数组的单元个数(数组长度)由Javascript根据赋

值的情况来自动分配。

例如:

var week=newArray("Sunday","Monday","Tuesday","Wednesday","Thursday");

document.write(week); // 输出的所有数组单元的值,即数组被整体引用。

 

或者直接使用[]

var week=["Sunday","Monday","Tuesday","Wednesday","Thursday"];

 

方式2:动态

在创建数组时,如果不在new Array括号内指定数组单元的个数(即数组的长度),则

在具体为数组单元赋值时,Javascript会自动延伸数组的长度。

 

例如:

var week = new Array() // 创建数组,不指定长度

week[4] ="Thursday" // 将数组的4号单元赋值为"Thursday",同时自动为数组扩充为5个单元,前面4个单元(week[0]~week[3])被初始化为null

 

二元数组

Javascript的数组中单元值不一定是同种类型的数据,甚至可以又是一种数组,这便形成了多维数组。

 

例如:

var anotherArr = new Array("one","two");

myArr = newArray(1,2,anotherArr) // 二维数组

于是得到下面的数组单元值:

myArr[0] =1;

myArr[1] = 2;

myArr[2][0] = "one";

myArr[2][1] = "two";

 

全局观:


对于任何程序设计语言,面向过程都是不可缺的部分,即使是面向对象,也需要在面向过程基础上进行封装。

Javascript的面向过程中有的,其他语言中也有,只是换个形式表现罢了,例如这个总结就是完全参照VB总结做出来的。

抱歉!评论已关闭.