日期:2014-05-16  浏览次数:20339 次

JavaScript patterns 笔记(一) 全局变量

1.??????? 全局变量:

myglobal = "hello"; // antipattern

console.log(myglobal); // "hello"

console.log(window.myglobal); // "hello"

console.log(window["myglobal"]); // "hello"

console.log(this.myglobal); // "hello"

?

2.???? result 为一个隐含的全局变量

function sum(x, y) {

// antipattern: implied global

result = x + y;

return result;

}

修改方法:把 result 使用 var 变成函数范围内局部变量

function sum(x, y) {

var result = x + y;

return result;

}

?

3.???? ? 链式分配 作为var 声名的一部分

// antipattern, do not use

function foo() {

var a = b = 0;

// ...

}

?

4.?????? 先声名局部变量,链式分配这些局部变量变成全局变量:

function foo() {

var a, b;