ExtJS中的全局变量的保存和使用
来源:互联网 发布:sql语句多表关联查询 编辑:程序博客网 时间:2024/05/17 22:12
前阵子研究ExtJS,对于如何在Sencha Architect软件中使用全局变量伤透了脑筋。现在我一共发现了两种:
第一种:使用“window.全局变量”形式
window 对象总是存在的,你可理解其为一个浏览器窗口对象。它包含了其它所有的对象如document 和所有的全局变量。
假设有全局变量seq,那么赋值和取值操作如下:
window.seq=13; //赋值
var temp=window.seq; //取值
第二种:使用document对象中的cookie属性
在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算。也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来使用。例如,可以只写 document,而不必写 window.document
document里面有一个对象属性cookie,可以用来保存用户储存在本地终端上的数据。
先上代码,然后解释:
var UserId = ""; UserName = ""; document.cookie="user=123"; //赋值 var vcookie = document.cookie; var arrcookie = new Array(); //这句记为A arrcookie = vcookie.split(";"); for (var i = 0; i < arrcookie.length; i++) { var arr_per = new Array(); arr_per = arrcookie[i].split("="); //arr_per[0]存的是等号左边的值,arr_per[1]存的是等号右边的值 if (arr_per[0].replace(" ","") == "user") { UserId = arr_per[1]; } else if(arr_per[0].replace(" ","") == "name")//replace函数可以去除name字符串前后的空格 { UserName = decodeURI(arr_per[1]);//decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。 } if(UserId !== "" && UserName !== "") { break; } }
下图是“百度一下”首页中自带的cookie值,看到格式就明白了为什么要 split(";") 和 split("=")
执行A句以后
由下图可见replace函数是必要的
两种方法都可以实现全局变量的存取,只是哪种更好不清楚
0 1
- ExtJS中的全局变量的保存和使用
- js中的全局变量的使用
- Extjs 动态行列的显示和保存
- 全局变量的定义和使用
- 全局变量的定义和使用
- 全局变量的使用和声明
- 使用Application类保存全局变量
- android 使用Application保存全局变量
- android使用application保存全局变量
- Extjs 保存grid中的数据
- 为什么初始化的全局变量和未初始化的全局变量要保存在不同的段??
- 嵌入式系统编程中的全局变量的使用
- SQL Server中的全局变量的使用
- c++中的全局变量的定义与使用
- extjs中的年份和月份控件使用
- C++中的全局变量使用
- 全局变量的global的定义和使用
- MFC全局变量的定义和使用
- Linked List Cycle
- ubunt下samba服务器的配置
- CommandLineInterface
- 【转载】Template
- HDU2015偶数求和
- ExtJS中的全局变量的保存和使用
- 1006-Hive的UDF操作
- 10 条提升 Android 性能的建议
- java array数组是不是类
- OS X El Capitan 10.11 Cocoapods报错解决方案
- vm中增加硬盘 扩大原来vg
- java窗口背景颜色怎么设定?用setBackground()好像不行,请大侠指教!
- codeforces 602B (队列)
- SpringMVC介绍之Validation