js变量定义

原创
2013/03/05 16:55
阅读数 46

var定义的变量都是局部变量,依赖局部作用域分为window和函数内部两种

function A(){

var a;//函数A的作用域里的变量,

b;//是函数A里的全局变量

this.a;//是函数A的属性, 调用(×),外部调用new A().a

}

没写var 就是window对象的成员变量,依赖window或当前对象作用域,

this.a则是对象变量,依赖当前对像。

js中没有private static procted public 修饰符

js语法跟php很像,如果一个方法不new 它,那么他就是window下一个普通方法,如果new 的话,就是一个window下一个对象

//以下三个函数区别
//1
var str = "global";
function scopeTest(){
alert(str);//下面虽然是定义var01并同时初时话,但var01在整个函数内部都是有作用的,故相当于先声明,后初始化。所以此处输出undefined,既没有赋值

//所以总结:用var定义的变量是先确定在整个区间作用域,但是它的赋值确是undefined

str = "local";
alert(str);
}
scopeTest();

//2
var str = "global";
function scopeTest(){
alert(str);
str = "local";
alert(str);
}
scopeTest();

//3
var str = "global";
function scopeTest(){
alert(str);
alert(str);
}
scopeTest();

//闭包列子

var datamodel = {
table : [],
tree : {}
};
(function(dm){
for(var i = 0; i < dm.table.rows; i++){
var row = dm.table.rows[i];
for(var j = 0; j < row.cells; i++){
drawCell(i, j);
}
}
//build dm.tree
})(datamodel);

 

 

展开阅读全文
打赏
0
0 收藏
分享

作者的其它热门文章

加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部