转自http://blog.163.com/mqsy_yj/blog/static/2940499220121014115338929/

前期设计了一个清除widget的功能,虽然可以从html文件中清掉widget的痕迹,但是重新初始化加载该widget时,还是会出现清除之前的一 些状态,主要是在widget中定义的全局变量的值还保留着,即使初始化时对这些变量重新赋值也无用,今天看到一博客中也分析了这种问题,自己试试后果 然,遂记下来。

define(["dojo/declare"],function(declare){

return declare("",[],{

oobj:{},

oarr:[],

oint:0,

owid:null,//其他widget对象

constructor: function(){

this.iobj = {};

this.iarr = [];

}

});

});

在上面的代码中定义了两组全局变量,一组是oobj、oarr、oint、owid;二组是iobj、iarr。

经试验,定义的这两组变量都可以完成widget内部全局访问的工作,当widget执行destroyRecursive()并重新创建后,第一组中oobj和oarr的值并没有被清空,而一组中其他变量和二组中的变量都被重新初始化。

结论:Object和Array等JS特殊类型必须在constructor方法里定义为全局变量时才能与widget一同消除,JS一般类型数据或是widget对象在任何情况下都会同widget一同被消除

Dojo Widget中的全局变量的更多相关文章

  1. C语言中定义全局变量

    (1)在C语言的头文件中定义变量出现的问题 最好不要傻嘻嘻的在头文件里定义什么东西.比如全局变量: /*xx头文件*/ #ifndef  _XX_头文件.H #define  _XX_头文件.H in ...

  2. js中的全局变量和静态变量的使用, js 的调试?- 如果js出错, js引擎 就会停止, 这会 导致 后面的 html中 refer 该函数时, 会报错 函数为定义!!

    效果里面的函数, 如show, hide,slideDown等, 这些都叫 "效果"函数, 但是里面可以包含动画, 也可以 不包含动画. 动画,是指 元素 的内容 是 逐渐 显示/ ...

  3. c语言头文件中定义全局变量的问题

    c语言头文件中定义全局变量的问题 (转http://www.cnblogs.com/Sorean/) 先说一下,全局变量只能定义在 函数里面,任意函数,其他函数在使用的时候用extern声明.千万不要 ...

  4. 在android.app.Application中定义全局变量

    在Android应用中使用全局变量,除了public的静态变量,还有更优雅的方式是使用android.app.Application. 启动Application时,系统会创建一个PID,即进程ID, ...

  5. Yii中的CCheckBoxColumn在widget中的用法

    'columns'=>array(        array(            'class'=>'CCheckBoxColumn',            'id'=>'us ...

  6. Yii Framework2.0开发教程(4)在yii中定义全局变量

    在yii中定义全局变量最好的地方是入口脚本处.也就是web目录中的index.php文件 比如我们在defined('YII_ENV') or define('YII_ENV', 'dev');后写上 ...

  7. python中的全局变量和局部变量

    python中,对于变量作用域的规定有些不一样. 在诸如C/C++.java等编程语言中,默认在函数的内部是能够直接訪问在函数外定义的全局变量的,可是这一点在python中就会有问题.以下是一个样例. ...

  8. java中的全局变量如何实现?ThreadLocal~

    全局变量就是不管你在哪里,都能够直接引用的变量,还不用担心各种问题.每个语言都有自己的全局变量,我想! 一般地,面向过程的语言当中,可能就是一个声明在最前面的变量,后面的代码直接引用,就成了全局变量! ...

  9. python线程中的全局变量与局部变量

    在python多线程开发中,全局变量是多个线程共享的数据,局部变量是各自线程的,非共享的. 如下几种写法都是可以的: 第一种:将列表当成参数传递给线程 from threading import Th ...

随机推荐

  1. Flash Builder4.6破解方案(亲测有效)(转)

    转自 http://bbs.9ria.com/thread-139463-1-1.html 当修改Host文件无法破解时,需要修改Flash Builder安装目录下某些文件来达到破解的目的,经网上搜 ...

  2. [CODEVS1037]取数游戏

    N(2 <=N<=200,且为偶数)个正整数的序列放在一个游戏平台上,A.B两人轮流从序列的两端取数,取数后该数字被去掉并累加到本玩家的得分中,当数取尽时,游戏结束.以最终得分多者为胜(A ...

  3. ARFF文件格式

    Attribute -Relation File Format (ARFF) 此文档翻译自http://www.cs.waikato.ac.nz/~ml/weka/arff.html.文档写的比较粗糙 ...

  4. bzoj 3033 太鼓达人

    思路:首先一定是2^m次方的总数.用二进制从 000 一直到 111总过m个数,然后暴搜. #include<cstdio> #include<cstring> #includ ...

  5. HDU 1754 I Hate It 线段树 单点更新 区间最大值

    #include<iostream> #include<string> #include<algorithm> #include<cstdlib> #i ...

  6. PLSQL配置介绍

    PLSQL配置简介,优化   来自为知笔记(Wiz) 附件列表 s=selectf=FROMw=WHEREsf=SELECT * FROMdf=DELETE FROMsc=SELECT COUNT(* ...

  7. ambari安装过程中的问题汇总

    今天重新安装ambari过程中,遇到了几个问题,耗费了我很长时间,在此记录一下 ambari重新安装可参考我之前的一篇随笔 http://www.cnblogs.com/6tian/p/4097401 ...

  8. Zookeeper系列(二)特征及应用场景

    zookeeper类似一个分布式的文件系统,每个节点可以有和它自身或它的子节点相关联的数据,此外指向节点的路劲必须使用绝对路径(不能使用相对路劲):   Znode 对应目录树中的的一个节点,并拥有一 ...

  9. HW3.21

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  10. JVM之---Java内存分配参数(第四篇)

    1.内存分配参数---大纲 Ø如何设置堆内存 Ø如何设置栈内存 Ø如何设置方法区 Ø如何设置对的分配比率 Ø设置参数打印堆栈: ØJava程序的两种模式:Server&Client 2.设置堆 ...