Javascript&DHTML基础知识第1/2页

      2019-12-09 07:01      编程语言
首先请下载JScript.chm这本手册,无论新手老手,有一本手册是免不了的,特别是对于新手,如果你没有空翻犀牛书,那么这本手册将是你了解这门语言的首选。下面所讲的大多数,手册上可以没有提及,或提及很少的内容。以下的教程都是针对你对上面所说的JScript.chm这本手册了解的基础上而写的,如果你还没有看过JScript.chm,建议你先下载,边看手册,边看教程。

JS的语法与大多数类C的语言差不多的语法,差别只在它本身的特性上面。所以语法的具体内容,我不再多写,多看看手册应该明白的。

JS五大对象:String,Number,Boolean,Object,Function。

JS四种循环:
for(vari=0;i<n;i++){}
do{}while(true);
while(true){}
for(variincollection){}

异常处理:
try{}catch(aVariable){}

JS语法我就不一一列举了,这里只JS的几大对象进行一些说明,手册也许是没有说到的。

一、字符串。
字符串是最常用的。而强制转换成字符串的方式至少有几下两种:
1、用字符串连接符"+"号。+号在JS里如果是运算就是加,如果是字符串,就是拼接,比如:
<script>
vara_number=1000
vara_string=a_number+"";
</script>

2、用String强制转型(String)。
<script>
vara_number=1000
vara_string=String(a_number);
</script>
在这里要注意一点,上面说的是强制转型,String前是没有"new"关键字的。如果加上new关键字,那么得到的将是一个String对象。对象可以包含属性和方法,而字符串不能,以下可以做一个比较:
<script>
vara_number=1000
vara_string=String(a_number);
a_string.property="js";
alert(a_string.property)//将提示undefined

vara_object=newString(a_number)
a_object.property="js";
alert(a_object.property)//将提示js
</script>
所以,有new和没有new是有区别的。这一点在Number,Boolean里都是如此,所以关于这样的转型,在以后中将不再多说。

二、数字(Number)。
这里也说一说转型的问题。
除了可以用Number来强制转型外,也可以用parseInt,parseFloat来转成整型或者浮点型。如果转型后不是数字,那么,将返回NaN(NotaNumber),这个时候可以用isNaN函数来判断,这里你可以查一下手册,看看里面的语法。顺便记一下这个函数。

三、布尔型(Boolean)。
这一个就较麻烦一些了,因为JS里对它的处理比较奇特。
除了JScript手册上所说的:“
一个值为true或者false的表达式。如果需要,非Boolean表达式也可以被转换为Boolean值,但是要遵循下列规则:

所有的对象都被当作true。
当且仅当字符串为空时,该字符串被当作false。
null和undefined被当作false。
当且仅当数字为零时,该数字被当作false。
”以外,还应该注意:

首先,在没有强制转换成布尔型之前,也就是非true或者也非false的时候
1、在数字条件判断中,一般情况下就是三种情况:0,负数,正数,只要是非0就是true,下面是示例。
<script>
vara=0;
varb=-1;
varc=1;

functionassert(aVar){
if(aVar)alert(true);
elsealert(false);
}
assert(a)//false
assert(b)//true
assert(c)//true
</script>
注意:上例中的条件判断是直接判断条件语句的,如果我们把条件语句改成:
<script>
vara=0;
varb=-1;
varc=1;

functionassert(aVar){
if(aVar==true)alert(true);
elsealert(false);
}
assert(a)//false
assert(b)//false
assert(c)//true
</script>
负数会有截然不同的结果。