博客统计信息

51cto推荐博客
用户名:tongqiuyan
文章数:52
评论数:15
访问量:10708
无忧币:1838
博客积分:1086
博客等级:5
注册日期:2009-08-04

背景音乐

我的音乐

00:00 | 00:00

订阅我的博客


google reader 鲜果 QQ邮箱 有道 抓虾

我的技术圈(0)

更多>>

公告

更多信息,请访问我的博客:http://tongqiuyan.blog.163.com/

你可以通过测试来看是否一个变量被定义为特殊值void。

代码实例
if ( foobar == void )
// undefined
运行效果





你可以使用【unset()】命令将变量回到未定义的状态。


代码实例

a == void; // true
a=5;
unset("a"); // 注意引号
a == void; // true 
运行效果





注意 unset() 命令接收的是字符串类型的变量名称,而不是变量。否则会出现如下异常。


“this”类型引用拥有多个“神奇的”成员:this.variables、this.methods、this.namespace、this.interpreter、this.caller等等。
2012-01-20 21:13:53
除了作用与修饰符:“this”、“super”、“global”之外,BeanShell 支持大量系统预定义的变量,“不可思议的”值和方法。
BeanShell 的“this”类型引用可以实现标准 Java 中的 java.lang.Runnable 接口。所以你可以在 bsh 对象中定义一个“run()”方法并将它作为一个线程的目标。
示例代码
foo() {   run() {     // do work...   }   return this; } foo = foo(); // foo.run() 开始两个线程 new Thread( foo ).start(); new Thread( foo ).start(); 
运行效果

BeanShell 内部是线程安全的,所以只要你的脚本没有明确地做任何非线程安全的事(比如存取共享的参数或者对象),你可以写多线程的脚本。



注意:

你可以使用 bg()“background”命令在一个单独的线程里运行一个外部脚本。
在 Java 中为了(处理)拥有多个方法的接口而创建“傀儡”适配器的情况非常得常见。傀儡适配器的工作就是带着存根(空方法体)实现接口中的所有方法,允许开发者扩展适配器并且只是重写感兴趣的方法。BeanShell 为带有大量方法的脚本接口提供一个非常简单的速记机制。你可以在任何脚本上下文中实现特殊方法 invoke(name, args)。invoke() 方法被调用来处理未被定义的接口的任何方法的调用。
执行一个显示的类型转换将 BeanShell 脚本对象转换到一个接口类型是合法的行为,但通常没有这个必要。
在你的 BeanShell 脚本中,任何“this”类型的脚本引用可以自动实现任何需要的接口类型。这意味着你可以简单地对你的脚本或者在任何你要使用的接口类型的脚本对象的地方使用“this”引用。BeanShell 会自动地把它“投”到正确的类型并为你执行方法委托。
Ajax、FLex、Silverlight 和 JavaFx 在 RIA(Rich Internet Application)世界中扮演着主流角色。哪一种技术更好?这个问题很难一概而论。事实上,其中若干技术的组合使用将会带来更好的效果。
类别:Flex|阅读(20)|回复(0)|(0)阅读全文>>
BeanShell 最强大的功能之一就是具有编写 Java 接口脚本的能力。这个功能允许你编写脚本用作事件处理、监听以及其他 Java API 的组件。它也可以从你的应用中更简单得调用脚本化的组件,因为它们可以被看作任何其他 Java 对象。
在 “脚本方法”部分我们将“super”的使用描述成是指向一个方法的父范围(该方法被定义的范围)。而且在之前的部分中我们讨论了“super”的兄弟 “this”,“this”指向的是当前方法的范围,允许我们把一个方法的范围想成一个对象。现在我们可以看到这些概念是如何关联起来的。任何方法的范 围,事实上“global”范围,都可以被看做一个对象的上下文。一个脚本对象可以被看作封装在一个父范围,该范围决定它的“环境”——它继承变量和方 法。
 <<   1   2   3   4   5   >>   页数 ( 1/6 )