国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

深入理解javascript學習筆記(一) 編寫高質量代碼

2024-05-06 14:21:28
字體:
來源:轉載
供稿:網友
一、變量

•全局變量
JavaScript的兩個特征,不自覺地創建出全局變量是出乎意料的容易。首先,你可以甚至不需要聲明就可以使用變量;第二,JavaScript有隱含的全局概念,意味著你不聲明的任何變量都會成為一個全局對象屬性(不是真正意義上的全局變量,可以用delete刪除)
代碼如下:
function sum(x,y) {
// result 未聲明,為隱式全局變量
result = x + y;
return result;
}

function foo() {
// 使用任務鏈進行部分var聲明,b為隱式全局變量
var a = b = 1;
}

建議:
代碼如下:
function (x,y) {
var a ,b ;
a = b = 1;//a,b 為局部變量
}

•var作用
通過var創建的全局變量(任何函數之外的程序中創建)是不能被刪除的。無var創建的隱式全局變量(無視是否在函數中創建)是能被刪除的。

代碼如下:
// 定義三個全局變量
var global_var = 1;
global_novar = 2; // 反面教材
(function () {
global_fromfunc = 3; // 反面教材
}());

// 試圖刪除
delete global_var; // false
delete global_novar; // true
delete global_fromfunc; // true

// 測試該刪除
typeof global_var; // "number"
typeof global_novar; // "undefined"
typeof global_fromfunc; // "undefined"

•單var形式聲明變量
在函數頂部使用單var語句是比較有用的一種形式。所有未初始化但聲明的變量的初始值是undefined

代碼如下:
function func() {
var a = 1,
b = 2,
sum = a + b,
myobject = {},
i,
j;
// function body...
}

•var散布問題
代碼如下:
// 反例
myname = "global"; // 全局變量
function func() {
alert(myname); //"undefined" var myname = "local"; alert(myname); // "local" } func();等同于:


myname = "global"; // global variable
function func() {
var myname; // 等同于 -> var myname = undefined;
alert(myname); // "undefined"
myname = "local";
alert(myname); // "local"}
func();

二 for循環

•建議使用
代碼如下:
function looper() {
var i = 0,
max,
myarray = [];
// ...
for (i = 0, max = myarray.length; i < max; i++) {
// 使用myarray[i]做點什么
}
}

使用以下表達式代替i++
代碼如下:
i = i + 1
i += 1以下兩種循環方式更快


//第一種變化的形式:

var i, myarray = [];
for (i = myarray.length; i–-;) {
// 使用myarray[i]做點什么
}

//第二種使用while循環:

var myarray = [],
i = myarray.length;
while (i–-) {
// 使用myarray[i]做點什么
}

•for-in循環
應用在非數組對象的遍歷上,數組使用正常的for循環,對象使用for-in循環。使用hasOwnProperty()方法,當遍歷對象屬性的時候可以過濾掉從原型鏈上下來的屬性。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 新化县| 汕头市| 镇雄县| 长兴县| 阳泉市| 霍城县| 大名县| 闵行区| 碌曲县| 广汉市| 洞头县| 陆良县| 奇台县| 太和县| 获嘉县| 建始县| 东乌珠穆沁旗| 高密市| 临海市| 芮城县| 长宁县| 乌拉特中旗| 封开县| 罗田县| 同德县| 菏泽市| 岑溪市| 苗栗市| 朔州市| 扬中市| 福鼎市| 禹城市| 区。| 嵩明县| 金昌市| 古田县| 蒙山县| 晋宁县| 汕头市| 淮北市| 松滋市|