Javascript&DHTML基础知识
更新时间:2008年07月03日 20:53:12 作者:
首先请下载JScript.chm这本手册,无论新手老手,有一本手册是免不了的,特别是对于新手,如果你没有空翻犀牛书,那么这本手册将是你了解这门语言的首选。下面所讲的大多数,手册上可以没有提及,或提及很少的内容。
2、在字符串中,也需要注意
<script>
function assert (aVar) {
if (aVar) alert(true);
else alert(false);
}
var a="undefined";
var b="false";
var c="";
assert(a) // true
assert(b) // true
assert(c) // false
</script>
注意:上例中的条件判断是直接判断条件语句的,如果我们把条件语句改成:
<script>
function assert (aVar) {
if (aVar==true) alert(true);
else alert(false);
}
var a="undefined";
var b="false";
var c="";
assert(a) // false
assert(b) // false
assert(c) // false
</script>
也会有截然不同的结果。因此,在处理这方面问题的时候要小心。
也许有些朋友看到这里就会有点晕了,那么怎么样才能像手册中所说,只有"",0,null,undefined这些才能是false呢?方法至少有两种:
(一)、强制转型:
1、用上面所说过的Boolean(aVar)来转型。
2、用“非运算符”来转型。比如上例
<script>
function assert (aVar) {
if (!!aVar==true) alert(true);
else alert(false);
}
var a="undefined";
var b="false";
var c="";
assert(a) // true
assert(b) // true
assert(c) // false
</script>
两个取反,将aVar转成Boolean型,相当于Boolean(aVar)。
(二)、全等运算符。
全等运算符是三个等于"===",这与上面所说的不同,它只进行同类型的比较。就上例所说,它只比较的是true或者false,如果与字符串或数字等比,都是false,只有与true相比,才是true。举例:
<script>
function assert (aVar) {
if (aVar===true) alert(true);
else alert(false);
}
var a="undefined";
var b=true;
var c=1;
assert(a) // false
assert(b) // true
assert(c) // false
</script>
四、对象(Object)。
JS创建对象有至少以下两种方法:
1、如上所说,用new关键字。比如new Number(100),new String("string"),new Object(),new customFunction()等。
这种方法在手册上有很详细的说明,这里就不再多说。
2、还可以用花括号括起来。比如
var o = {
m1:'never-online.net',
m2:'blog'
}
这种方法就比较省时省力了。利用这种方法来创建对象,需要注意的就是,
每个成员后有一个":"冒号,冒号后是该成员的内容。
其次就是,成员内容后有一个逗号",",但仅最后一个成员是没有逗号的。
五、函数(Function)。
函数在JS里的作用有两个,
一是做为一个普通函数一样被调用。
二是可以做为一个"类"(class)来使用。
第一条就没有什么可说明的了,手册上说得很清楚了,第二条就简要说明一下。
上面第四点里说到对象,除了创建JS本身的对象之外,需要创建一个类的实例,那么就必须先把“类”写出来。这个类就是Function。
比如:
<script>
function myclass() {
this.m1="member--m1";
this.m2="member--m2";
}
var o = new myclass();
</script>
六、关于this和new关键字。
也许有些朋友还不太清楚这个this的作用是什么。这是面向对象里所提及的内容
这里也简单说一下,this就是“自己”的意思,而上面的的“自己”,就是指myclass。
举个例子来说myclass这个类就是一个模具,模具上有一个名字(m1),还有一个螺丝(m2),而new关键字就可以理解成“生产”。那么就可以把上面的代码理解成:
(模具 myclass)function myclass() {
(模具myclass的名字是)this.m1="member--m1"
(模具myclass上面的螺丝是)this.m2="member--m2";
}
按照模具myclass的样式生产一个产品o
var o= new myclass();
这个刚出炉的产品就有模具myclass的所有特性了。当然,我们可以按照这个模具的样式生产成千上万个。
如果我们愿意,我们还可以修改一下他的属性,比如,我生产完一个产品,想把他的名字换了。我们也可以这么做
var product = new myclass();
product.m1 = "newProduct"
上面这样讲解,希望能清楚一些。
基本把要说的基础知识简单的说了一些,JS的基础知识其实也有很多,知道有疏忽,但是又不便多写,写多了就烦琐了,只有走一步看一步了,看看还有什么不清楚的,才能再写出来了
相关文章
JavaScript实现Tab标签页切换的最简便方式(4种)
这篇文章主要介绍了JavaScript实现Tab标签页切换的最简便方式(4种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-06-06onsubmit阻止form表单提交与onclick的相关操作
return false会阻止表单提交,基本上关于onsubmit=return false有以下几点要注意的地方,学习后台编程的朋友一定要知道。2010-09-09JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
这篇文章主要介绍了JavaScript实现的原生态兼容IE6可调可控滚动文字功能,简单说明了文字滚动的实现原理并结合具体实例形式给出了javascript文字滚动功能的具体实现代码,需要的朋友可以参考下2017-09-09
最新评论