日新网培训Javascript之一.Js基础

一.Javascript概述

1、Javascript是一种松散类型语言,变量不必具有一个明确的类型。变量实现方法类似Hash表和关联数组,将属性名映射为任意类型的属性值或引用。

2、Javascript是一种解释型语言,核心语言有原始数据类型:数字、字符串、布尔值。内部支持数组、日期和正则表达式对象。

3、Javascript的版本,根据ECMA-262标准,Javascript语言的光放名称为ECMAScript。

4、运行在浏览器的Javascript称为客户端JS,可以理解为JS为静态页面增加了行为(响应用户的操作),使页面变为动态(可响应操作)。

简单的例子:

1、<script language="javascript" src="目标" type="text/javascript"></script>  可以将外部的JS代码块连接入<Script>标记的位置。

2、<button onclick="alert('Hello World!');">Click</button>

二.Javascript语法结构

1、JS程序采用Unicode字符集编码(16位)。所以JS程序中每个字符都是2个字节表示。

2、JS大小写敏感,但HTML不区分大小写,但建议养成习惯区分大小写。JS代码会忽略空白(Space)、换行(Enter)、制表符(Tab)。

3、JS中语句结尾可以不用分号,但要求必须分行写代码。但为了习惯,要求结尾有分号。

4、JS注释编程语言一样。//代表注释一行 /*可以注释若干行*/。

5、JS支持直接量,例如1、2、'h'、true……表示数组和对象可以用直接量表示:数组[1,2,3,4] 对象{x:1,y:2} 对象的表示结构是JSon(JavaScript Object Notation).

6、标识符、关键字、保留字的关系。

三 Javascript数据结构

1、基本数据类型:3+2 3:数字、文本字符串、布尔值 2:null(空) undefined(未定义)

2、复合数据类型:对象 JS对象分为两种:1、已命名的值的无序集合 2、有编号的值的有序集合 又称数组。

3、特殊的对象——函数(function)。一般将函数看作独立于对象和数组的数据类型。

4、Javascript核心定义了一些专用对象:Data表示日期、RegExp类表示正则表达式、Error类表示返回的错误对象(异常处理)。

5、JS中的数字不区别整型和浮点型,所有数都是由浮点型表示。“-”号加在任何直接量都表示它的负数,但它不是数值直接量的一部分,它是一元求反运算符。

6、数值进制 16进制以0x或0X开头。八进制直接量以0开头。(最好不要使用八进制,兼容性问题)。

7、数学运算可以使用Math.方法。

8、数值界限和特殊值。 (-)Infinity表示数超过所能表示的最(小)大值  Number.MAX_VALUE可表示的最大数字 Number.MIN_VALUE 可表示的最小数字

9、NaN (Not A Number) 当转换产生未定义的错误时,会产生NaN,它和任何值不相等(包括自己)使用isNaN()来检测它的值。使用isFinite()来检测一个数字是否是NaN、正无穷大、负穷大。

10、字符串string JS里没有char,只能用长度为1的string表示。 直接量用'和"表示,两种引号可以互相包含,支持使用转意字符。因为HTML也支持两种引号表示字符,所以建议HTML和JS分别使用一种,方便编程。转意字符详情需要查表,这里只介绍常用几个:\b退格 \n换行 \t水平制表 \" \' \\分别表示" ' \  \uXXXX 表示Unicode XXXX的值。如果转意失败,则忽略“\”。

11、字符串函数 var s="Hello," + "World";  s.length表示长度 s.charAt(2) 取出第2个字符  s.substring(1,4) 从第2个字符开始,取到第4个字符 这里需要注意,第一个参数是开始的Index(整个串从0开始),截取数包括第一个参数表示的字符。第二个参数是截取的终点位置,截取数不包括第二个参数表示的字符,取前不取后。 s.indexOf('a'); 在串s中查找第一个a出现的位置。

12、字符串与数字互转 数字和字符串用“+”时,会先转成字符串后连接在一起。 所以将数字n转换为字符串s有以下办法:1、s=n+"";  2、s=String(n);  3、s=n.toString(); 同时,将字符串s转换为数字n时有以下方法:1、n=s-0; 2、n=Number(s); 3、n=parseInt/parseFloat(s);  需要注意,当对字符串使用数字运算符时也会实现自动转换(因为是松散类型语言)。 parseInt/parseFloat的参数(第一个要转换的字符串,第二个转换的进制数) 如果转换失败则返回NaN。

13、布尔值转换 true -》'true'-》1 false-》'false'-》0  数字转Bool 如果是0或NaN则转为false,其他true. 如果空字符串则转换为false,其他转换为true。空值和未定义都被转成false,其他都是true。 将其他类型a转换为布尔类型的b的方法:1、a=Boolean(b);  2、a=!!b; “!"为非运算符。

14、函数 常用定义:

function myfunc(x)

{

  return x*x;

}

var myfunc=new function(x)      lambda函数

{    

  return x*x;

}

15、对象  对象名.属性名 或 对象名[属性名]  创建对象可以用构造函数构造 var o =new object();  设计属性 o.x=1; o.y=2; 也可以使用JSON直接量来创建对象。var o = {x:1,y:2};

16、对象转换  非空对象转为布尔值 会为true,如果转换成string,则自动调toString(),如果转成数字,则先调valueOf()方法,如果返回自己则先toString()再parse转成数字。

17、数组 创建:var a=new Array(1,2,3,4); a[0]=1; new Array(长度); 数组直接量[1,2,3,"aaa",[1,2,3]]。

18、null  表示“无值” 转为Bool为false 转为数字为0 转为字符串为"null"

19、undefined  表示未定义、未声明。  undefined 和 null 不相等。但undefined==null结果为true。可以使用===来区分,undefined===null为false。

20、Date对象 var now =new Date(); now.toLocaleString() 返回本地时间串  now.getDay()……这个对象以后我会补上专门的总结。构造函数可以设置构造时间:var totime = new Date(2010,3,31);

21、正则表达式 用于模式匹配以及实现查找替换等功能。用RegExp对象表示  直接量用两个“/”之间的文本表示。 如/^HTML/ 此对象将在以后章节总结。

22、Error对象  用于错误处理,每个Error有一个message属性,存放JS中特定的错误消息。预定义的错误有Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError和URIError   以后会有专门章节总结。

23、类型转换小结 可以参照这篇文章:http://www.cnblogs.com/dreampuf/archive/2009/01/22/1380075.html

24、基本数据类型的包装对象 三种基本数据类型都有一个响应的对象类。Number、String和Boolean类。当我们使用基本数据类型时,JS内部会为基本数据类型创建一个包装对象,因此有了属性和方法。瞬间转换机制。

 

日新成员作业:

1、亲自实践各种类型的创建和转换。

2、用HTML+JS 制作一个计算器软件。

 

下次课时间:2010-4-7 7点 3604

 

本章内容详情参照《Javascript权威指南》前三章内容

posted on 2010-03-31 18:55  寻雨  阅读(242)  评论(0编辑  收藏  举报

导航