易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript 的 scope myhere

// JavaScript 脚本,解析型语言
//
var ABCD = function(){
var pub = {};
var pri = {};
pri.name = "myhere";
pri.age = 23;
//var ABCDE;
pub.setName = function( newName){
pri.name = newName;
};
// 这里 pub.getName 被赋值为一个函数,就是定义一个函数
// 这个函数并没有运行,这个函数中的变量(不管是 local 还是 global 都不会被替换为他的值)
// 因此这个 pri.name 还是一个变量,是动态的
pub.getName = function(){
return pri.name;
}
// 这里 pub.N 是一个值,是函数的返回值
// 而且这个值是不会随 pri.name 的改变而改变
// 因为 pub.N 是匿名函数以 pri.name 为参数调用匿名函数后的返回值
// 这个 pub.N 只能是程序运行到这时的 pri.name 值
// pub.N 也可以通过 ABCD.N 来改变
pub.N = function( e){
return e;
}( pri.name );
pub.setAge = function( newAge){
pri.age = newAge;
}
pub.getAge = function(){
return pri.age;
}
pub.setOK = function()

pub.setA = function( s){
ABCDE = s;
}
pub.getA = function(){
return ABCDE;
}
return pub;
}(); // 直接运行匿名函数,ABCD 是匿名函数的返回值,即匿名函数中的 pub
// 运行到这时并没用定义 ABCDE;
ABCD.setA( 'boy');
// 运行到这时定义 ABCDE,他的作用域是 global scope,通过 window['ABCDE'] 可以获得,
// ABCDE 与 pri( 匿名函数中的) 的作用域不一样,pri 只有通过 ABCD 的接口可以访问
// 因此 ABCD 形成一个 scope。pub 相当于 php 中的 public,pri 相当于 private
//
// 如果在匿名函数中定义 ABCDE,则他的作用域就不是 global scope 了,他就和 pri 是同一个作用域了,属于 local scope
 
//
// javascript 中的函数可以赋值给变量( very important !!!!)。
// 函数有自己的 scope
// 因此一个函数定义中可以嵌套很多函数,而其中的每个函数又有自己的 scope
// 因此可以有很多嵌套的 scope;在这些嵌套的 scope 中,外层的 scope 中的
// 变量在内层 scope 中可见;内层 scope 中的变量在外层 scope 中不可见
//
var a = "a ";
var A = function(){
var pub = {};
var b = "b ";
pub.setValue = function( v){
var c = v || 'c ';
var setAge = function( v){
var d = v || 'd ';
return a + b + c + d;
}


相关文档:

使用Javascript,CSS和Ajax创建ASP.NET自定义控件

在Visual Studio中,所有的ASP.NET 2.0控件都是自定义控件,创建自己的自定义控件一般需要完成以下三步。
(1)在站点APP_Code下创建一个新类;
(2)修改这个类,让它成为WebControl类(包含在System.Web.UI.WebControls命名空间)的派生类;
(3)重写基类(即WebControl类)的RenderContents()方法。
下面是一个最简单的ASP.NE ......

Javascript时间差计算函数

JavaScript时间差计算函数
<mce:script language="javascript"><!--
Date.prototype.dateDiff = function(interval,objDate){
//若參數不足或 objDate 不是日期物件則回傳 undefined
if(arguments.length<2||objDate.constructor!=Date) return undefined;
......

简单的Javascript Cookie操作

<mce:script type="text/javascript"><!--

function SetCookie(name,value,expire) {
var exp = new Date();
exp.setTime(exp.getTime() + expire);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
} ......

javascript操作cookies 以及正确使用cookies的属性

在 JS(JavaScript) 操作cookies比较复杂,在 ASP 里面我们只需要知道 cookie 的名称、cookie 的值就行了,而 JS 里面,我们面对的是 cookie 的字符串,你自己编写这个字符串写入客户端,然后自己解析这个字符串。
  一、从写 cookie 说起。
var the_date = new Date("December 31, 2020");
var expiresDate ......

javascript中对中文进行编码解码的方式

中文编码:
 function upload() {
  var form = document.getElementById('topic');
  if ($('uploadfile').value == "") {
   alert("请选择文件!");
   return;
  } 
  $('uploadfile').value = escape($('uploadfile').value) ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号