Javascript&DHTML基礎(chǔ)知識
更新時間:2008年07月03日 20:53:12 作者:
首先請下載JScript.chm這本手冊,無論新手老手,有一本手冊是免不了的,特別是對于新手,如果你沒有空翻犀牛書,那么這本手冊將是你了解這門語言的首選。下面所講的大多數(shù),手冊上可以沒有提及,或提及很少的內(nèi)容。
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>
也會有截然不同的結(jié)果。因此,在處理這方面問題的時候要小心。
也許有些朋友看到這里就會有點暈了,那么怎么樣才能像手冊中所說,只有"",0,null,undefined這些才能是false呢?方法至少有兩種:
(一)、強(qiáng)制轉(zhuǎn)型:
1、用上面所說過的Boolean(aVar)來轉(zhuǎn)型。
2、用“非運算符”來轉(zhuǎn)型。比如上例
<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轉(zhuǎn)成Boolean型,相當(dāng)于Boolean(aVar)。
(二)、全等運算符。
全等運算符是三個等于"===",這與上面所說的不同,它只進(jìn)行同類型的比較。就上例所說,它只比較的是true或者false,如果與字符串或數(shù)字等比,都是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創(chuàng)建對象有至少以下兩種方法:
1、如上所說,用new關(guān)鍵字。比如new Number(100),new String("string"),new Object(),new customFunction()等。
這種方法在手冊上有很詳細(xì)的說明,這里就不再多說。
2、還可以用花括號括起來。比如
var o = {
m1:'never-online.net',
m2:'blog'
}
這種方法就比較省時省力了。利用這種方法來創(chuàng)建對象,需要注意的就是,
每個成員后有一個":"冒號,冒號后是該成員的內(nèi)容。
其次就是,成員內(nèi)容后有一個逗號",",但僅最后一個成員是沒有逗號的。
五、函數(shù)(Function)。
函數(shù)在JS里的作用有兩個,
一是做為一個普通函數(shù)一樣被調(diào)用。
二是可以做為一個"類"(class)來使用。
第一條就沒有什么可說明的了,手冊上說得很清楚了,第二條就簡要說明一下。
上面第四點里說到對象,除了創(chuàng)建JS本身的對象之外,需要創(chuàng)建一個類的實例,那么就必須先把“類”寫出來。這個類就是Function。
比如:
<script>
function myclass() {
this.m1="member--m1";
this.m2="member--m2";
}
var o = new myclass();
</script>
六、關(guān)于this和new關(guān)鍵字。
也許有些朋友還不太清楚這個this的作用是什么。這是面向?qū)ο罄锼峒暗膬?nèi)容
這里也簡單說一下,this就是“自己”的意思,而上面的的“自己”,就是指myclass。
舉個例子來說myclass這個類就是一個模具,模具上有一個名字(m1),還有一個螺絲(m2),而new關(guān)鍵字就可以理解成“生產(chǎn)”。那么就可以把上面的代碼理解成:
(模具 myclass)function myclass() {
(模具myclass的名字是)this.m1="member--m1"
(模具myclass上面的螺絲是)this.m2="member--m2";
}
按照模具myclass的樣式生產(chǎn)一個產(chǎn)品o
var o= new myclass();
這個剛出爐的產(chǎn)品就有模具myclass的所有特性了。當(dāng)然,我們可以按照這個模具的樣式生產(chǎn)成千上萬個。
如果我們愿意,我們還可以修改一下他的屬性,比如,我生產(chǎn)完一個產(chǎn)品,想把他的名字換了。我們也可以這么做
var product = new myclass();
product.m1 = "newProduct"
上面這樣講解,希望能清楚一些。
基本把要說的基礎(chǔ)知識簡單的說了一些,JS的基礎(chǔ)知識其實也有很多,知道有疏忽,但是又不便多寫,寫多了就煩瑣了,只有走一步看一步了,看看還有什么不清楚的,才能再寫出來了
相關(guān)文章
js實現(xiàn)刪除li標(biāo)簽一行內(nèi)容
這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)刪除li標(biāo)簽一行內(nèi)容,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04JS頁面刷新與重新加載功能實現(xiàn)(關(guān)閉當(dāng)前窗口)
在計算機(jī)網(wǎng)頁中如果我們想獲取當(dāng)前頁面最新的內(nèi)容,可以刷新當(dāng)前頁面重新獲取數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于JS頁面刷新與重新加載功能實現(xiàn)(關(guān)閉當(dāng)前窗口)的相關(guān)資料,需要的朋友可以參考下2023-10-10JavaScript實現(xiàn)Tab標(biāo)簽頁切換的最簡便方式(4種)
這篇文章主要介紹了JavaScript實現(xiàn)Tab標(biāo)簽頁切換的最簡便方式(4種),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06JavaScript常用的彈出廣告及背投廣告實現(xiàn)方法
這篇文章主要介紹了JavaScript常用的彈出廣告及背投廣告實現(xiàn)方法,實例分析了彈出廣告與背投廣告的實現(xiàn)原理與相關(guān)技巧,需要的朋友可以參考下2015-02-02onsubmit阻止form表單提交與onclick的相關(guān)操作
return false會阻止表單提交,基本上關(guān)于onsubmit=return false有以下幾點要注意的地方,學(xué)習(xí)后臺編程的朋友一定要知道。2010-09-09JavaScript實現(xiàn)的原生態(tài)兼容IE6可調(diào)可控滾動文字功能詳解
這篇文章主要介紹了JavaScript實現(xiàn)的原生態(tài)兼容IE6可調(diào)可控滾動文字功能,簡單說明了文字滾動的實現(xiàn)原理并結(jié)合具體實例形式給出了javascript文字滾動功能的具體實現(xiàn)代碼,需要的朋友可以參考下2017-09-09