日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

[转]JavaScript中的几个tip

發布時間:2025/5/22 javascript 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]JavaScript中的几个tip 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、JavaScript中的繼承
在 JavaScript中實現繼承的方法是:將子類的 prototype 屬性設置為父類的對象。
例如,我有一個 Basket 類,繼承 Hashtable 類:
java代碼:

Basket.prototype = new Hashtable();
Basket.prototype.constructor = Basket;



如果不寫上面第二句,以后 typeof 一個 Basket 的對象獲得的就是 Hashtable 了。

但是需要注意的是,由于所有的子類(Basket)的對象實例共享同一個原型對象(Hashtable),因此在父類對象的構造函數中只能保存對所有子類對象均相同的實例變量。對每個子類不同的實例變量必須放在子類的的構造函數中。很多時候父類對象沒有任何自己的實例變量,而只有一些方法,操作的是子類對象的實例變量。

2、JavaScript中變量的作用域
JavaScript代碼:

var v = "aaa";
function func() {
alert(v);
...
var v = "bbb";
}


alert 出來的是什么?你肯定會說是 "aaa",錯,alert 出來的是 "undefined"。為什么?
因為 java-script 為了簡化處理,變量實際上只有兩種作用域,全局變量和函數的內部變量。你在函數內部任何一個地方定義的變量其作用域都是整個函數體。而在 alert 的時候函數的內部變量 v 已經定義了,并且覆蓋掉了同名的全局變量 的定義,只是還沒有被初始化,所以 alert 出來的是 "undefined"。

3、undefined 和 null
有些開發人員誤以為在 java-script 中,
return;
返回的就是 null,也就是
return null;

這是一個誤解,在 java-script 中,
return;
返回的是 undefined,而不是 null。這兩個值是有區別的,請看《JavaScritp 權威指南》的相關內容。最好明確地寫為:
return null;

這個問題同樣在傳遞參數時候也會出現,例如:
JavaScript代碼:

function func(v1, v2) {
alert(v2);
}
func(1);


alert 顯示 v2 的值是 undefined。

雖然在 JavaScript中:
undefined == null;
得到的結果是 true,將一個 typeof 為 "undefined" 的標識符與 null 做等值比較結果也是 true,似乎這兩個值可以混用。但是為了理解的清晰,最好還是把這兩個值區分開。

還有一個需要注意的是在 SP2 以前版本的 IE5 中,不能直接拿 undefined 與其它值比較,例如:
JavaScript代碼:

if(v2 == undefined) {
...
}



在 SP3 以上版本的 IE5、IE6 都沒問題,但是在 SP2 版本前的 IE5 中無法執行。必須要寫成:
java代碼:

if(typeof v2 == "undefined") {
...
}

轉載于:https://www.cnblogs.com/Terrylee/archive/2005/10/31/265456.html

總結

以上是生活随笔為你收集整理的[转]JavaScript中的几个tip的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。