我心飞扬

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  11 随笔 :: 50 文章 :: 5 评论 :: 0 Trackbacks
eval可以把字符串当成语句来执行

写在按钮中的函数:
     var textValue = textfield1_win.getValue();
     if (textValue == '') {
      textValue = 'no Value';
     }
    var funcString = 'alert(\'' + textValue + '\')';  // 前面可以加var,也可以不使用var, 如果有全局变量,而又没有使用var,则会使用全局的funcString,如果没有全局变量funcString,即使没有var,也会自动创建 funcString变量,作用域,为这个括号之内。  变量的生命周期如何维护的?  :先查找全局变量表,看是否有这个变量,如果有,直接使用全局变量?,如果没有,则创建新对象,并声明这个对象为局部变量? 或者根本不用声明,函数调用好之后,直接释放这个变量。 连函数调用的栈都被释放了,哪里来的变量,呵呵
    eval(funcString);
   
允许eval使用全局闭包并不是一个好主意。因为从函数闭包的概念来说,不应当让eval()对函数之外产生副作用

代码总是要运行在一定的闭包之中的。有两类闭包,分别是全局闭包函数闭包

写一个面板,把和JS相关的操作通过按钮集中到一块儿
这些代码最好是分割到几个不同的js脚本中间,这样比较容易管理。

posted on 2009-08-20 20:56 Monicax 阅读(523) 评论(0)  编辑 收藏 引用 所属分类: ExtJS Home
只有注册用户登录后才能发表评论。