ActionScript3的四种与点有关的操作符:. | .. | … | ::

      突然回想起很久很久以前,跟同事解说过这几种操作符。它们很特别,都是由点组成,并且是递进式的:一点、两点、三点 以及 四点—— ...:: 。分别是如下几个“点操作符”:

一点(. ):

这个操作符大家都用得多了,用来访问类的属性或方法的,例如:Sprite. x、Sprite. addChile();

两点(.. ):

不多用 E4X 语法操作 XML 的人会对这个操作符陌生。两点(..)的这个操作符,用于访问 XML 或 XMLList 的后代元素。不管后代元素的层级有多深,你都可以方便获得指定的元素。拿语言参考上的一个例子看看:

var myXML:XML = <a>
    <b>one
        <c>
            <b>two</b>
        </c>
    </b>
    <b>three</b>
</a>;

trace(myXML.. b[0].toXMLString());
trace(“______________”);
trace(myXML.. b[1].toXMLString());
trace(“______________”);
trace(myXML.. b[2].toXMLString());

输出内容将如下所示:

<b>
one
<c>
<b>two</b>
</c>
</b>
______________
<b>two</b>
______________
<b>three</b>

 你还可以与 @ 运算符一起使用来查找匹配的后代属性。玩法很多,这就是 E4X 了,详细请查阅语言参考。

三点( ):

这是三个点的符号。指定函数将接受任意多个以逗号分隔的参数。具体用法:

function average( args) : Number{
    var sum:Number = 0;
    for (var i:uint = 0; i < args.length; i++) {
        sum += args[i];
    }
    return (sum / args.length);
}

四点(:: ):

整整齐齐的四点,非常漂亮:)这个操作符比较少用,在命名空间(namespace)相关领域上会用得比较多。例如在类的命名空间和 XML 命名空间。还是用例子来说明它的用法吧:

例一: 以下示例使用 :: 运算符标识两个名称相同、但位于两个不同命名空间中的方法:

public class NamespaceExample extends Sprite {
public namespace French;
public namespace Hawaiian;
public function NamespaceExample() {
trace(Hawaiian:: hello()); // aloha
trace(French:: hello()); // bonjour
}
Hawaiian function hello():String {
return "aloha";
}

French function hello():String {
return "bonjour";
}
}

例二: 以下示例使用 :: 运算符标识具有指定命名空间的 XML 属性:

var soap:Namespace = new Namespace("http://schemas.xmlsoap.org/wsdl/soap/");
var w:Namespace = new Namespace("http://weather.example.org/forecast");
var myXML:XML =
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<soap:Body>
<w:forecast xmlns:w="http://weather.example.org/forecast">
<w:city>Quito</w:city>
<w:country>Ecuador</w:country>
<date>2006-01-14</date>
</w:forecast>
</soap:Body>
</soap:Envelope>;

trace(myXML.soap:: Body.w:: forecast.w:: city); // Quito
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值