首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Ext学习札记之作用域

2012-10-13 
Ext学习笔记之作用域参考文献:http://extjs.com/learn/Tutorial:What_is_that_Scope_all_about???????????

Ext学习笔记之作用域

参考文献:http://extjs.com/learn/Tutorial:What_is_that_Scope_all_about
?????????????http://extjs.com/learn/Tutorial:What_is_that_Scope_all_about2

正文:????
1、Windows对象??????
?????一般情况,定义的函数 var?testvar?=?'window属性';
Ext学习札记之作用域Ext学习札记之作用域var?o3?=?Ext学习札记之作用域{
Ext学习札记之作用域???testvar:'3',
Ext学习札记之作用域???testvar2:'3**',
Ext学习札记之作用域Ext学习札记之作用域???fun:function()Ext学习札记之作用域{
Ext学习札记之作用域??????alert('o3:?'+this.testvar);//'obj3'
Ext学习札记之作用域Ext学习札记之作用域??????var?inner?=?function()Ext学习札记之作用域{
Ext学习札记之作用域?????????alert('o3-inner:?'+this.testvar);//'window属性'
Ext学习札记之作用域?????????alert('o3-inner:?'+this.testvar2);//undefined(未定义)
Ext学习札记之作用域??????};
Ext学习札记之作用域??????inner();
Ext学习札记之作用域???}
Ext学习札记之作用域};
Ext学习札记之作用域o3.fun();
3、变量可见度
?????我们已经了解到,可在任何对象的外部,声明变量,或在全局的函数(函数也是变量的一种)也可以,更严格说,它们是全局对象window的属性。 全局变量在任何地方都可见;无论函数的内部还是外部。如果你在某一个函数内修改了一个全局变量,其它函数也会得知这个值是修改过的。 对象可以有它自己的属性(像上面的testvar),这些属性允许从内部或是外部均是可见的。
Ext学习札记之作用域i?=?44;?
Ext学习札记之作用域Ext学习札记之作用域function?fn2()?Ext学习札记之作用域{?
Ext学习札记之作用域????var?i?=?55;?
Ext学习札记之作用域????alert(i);?
Ext学习札记之作用域}
Ext学习札记之作用域fn2();?//55
Ext学习札记之作用域alert(i);?//44声明在函数fn2的变量i是一个本地变量(局部变量),和等于44的全局变量i 44没什么关系。而后面的var?i?=?4;
Ext学习札记之作用域var?j?=?5;
Ext学习札记之作用域var?k?=?7;
Ext学习札记之作用域Ext学习札记之作用域var?fn?=?function()Ext学习札记之作用域{
Ext学习札记之作用域???var?i?=?6;
Ext学习札记之作用域???k?=?8;//注意前面没有var?所以这句话的意思的把8赋予到变量k中去!
Ext学习札记之作用域???alert(i);//6
Ext学习札记之作用域???alert(j);//5
Ext学习札记之作用域???alert(k+'-1');//8-1
Ext学习札记之作用域???x?=?1;//这句的作用有两种情况,创建全部变量x或覆盖(overwrite)全部变量x
Ext学习札记之作用域};
Ext学习札记之作用域fn();
Ext学习札记之作用域alert(k+'-2');//8-2?(注意不是7-2)
5、Ext学习札记之作用域var?obj?=?Ext学习札记之作用域{
Ext学习札记之作用域Ext学习札记之作用域????toString:function()Ext学习札记之作用域{?return?'obj的范围内(作用域内)';},?//重写toString函数,方便执行console.log(this)时的输出
Ext学习札记之作用域Ext学习札记之作用域????func:?function()Ext学习札记之作用域{
Ext学习札记之作用域????????//?这里的函数直接从属与对象"object"
Ext学习札记之作用域????????console.log(this);?
Ext学习札记之作用域Ext学习札记之作用域????????var?innerFunc?=?function()Ext学习札记之作用域{
Ext学习札记之作用域????????????//n这里的函数不是特定对象的直接成员,只是另外一个函数的变量而已
Ext学习札记之作用域????????????console.log(this);?
Ext学习札记之作用域????????};
Ext学习札记之作用域????????innerFunc();
Ext学习札记之作用域????}
Ext学习札记之作用域};
Ext学习札记之作用域obj.func();?
Ext学习札记之作用域//?输出?"obj的范围内(作用域内)"
Ext学习札记之作用域//?输出?"Window的一些相关内容Ext学习札记之作用域"缺省下是这样调用一个参数的-但你也可以人为地改变this参数,只是语法上稍微不同。将最后一行的"obj.func();" 改为:obj.Ext学习札记之作用域var?obj?=?Ext学习札记之作用域{
Ext学习札记之作用域Ext学习札记之作用域????toString:function()Ext学习札记之作用域{?return?'obj的范围内(作用域内)';},?//重写toString函数,方便执行console.log(this)时的输出
Ext学习札记之作用域Ext学习札记之作用域????func:?function()Ext学习札记之作用域{
Ext学习札记之作用域????????//?这里的函数直接从属与对象"object"
Ext学习札记之作用域????????console.log(this);?
Ext学习札记之作用域Ext学习札记之作用域????????var?innerFunc?=?function()Ext学习札记之作用域{
Ext学习札记之作用域????????????//n这里的函数不是特定对象的直接成员,只是另外一个函数的变量而已
Ext学习札记之作用域????????????console.log(this);?
Ext学习札记之作用域????????};
Ext学习札记之作用域????????innerFunc.call(this);
Ext学习札记之作用域????}
Ext学习札记之作用域};
Ext学习札记之作用域obj.func();?
Ext学习札记之作用域//?输出?"obj的范围内(作用域内)"
Ext学习札记之作用域//?输出?"obj的范围内(作用域内)"
Ext学习札记之作用域var?obj?=?Ext学习札记之作用域{
Ext学习札记之作用域Ext学习札记之作用域????toString:function()Ext学习札记之作用域{?return?'obj的范围内(作用域内)';},?//重写toString函数,方便执行console.log(this)时的输出
Ext学习札记之作用域Ext学习札记之作用域????func:?function()Ext学习札记之作用域{
Ext学习札记之作用域????????//?这里的函数直接从属与对象"object"
Ext学习札记之作用域????????console.log(this);?
Ext学习札记之作用域Ext学习札记之作用域????????var?innerFunc?=?function()Ext学习札记之作用域{
Ext学习札记之作用域????????????//n这里的函数不是特定对象的直接成员,只是另外一个函数的变量而已
Ext学习札记之作用域????????????console.log(this);?
Ext学习札记之作用域????????};
Ext学习札记之作用域????????innerFunc?=?innerFunc.createDelegate(this);?//?这里我们用委托的函数覆盖了原函数。
Ext学习札记之作用域????????innerFunc();?//?按照一般的写法调用函数
Ext学习札记之作用域????}
Ext学习札记之作用域};
Ext学习札记之作用域obj.func();?
Ext学习札记之作用域//?输出?"obj的范围内(作用域内)"
Ext学习札记之作用域//?输出?"obj的范围内(作用域内)"

热点排行