`
人帅刀猛
  • 浏览: 39514 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

flex中with关键字的使用

阅读更多

原文:http://www.cnblogs.com/lovelyronger/archive/2010/03/10/1682795.html

 

with 语句  
用法
 
with (object:Object) { // 语句}

 

建立要用于执行一条或多条语句的默认对象,从而潜在地减少需要编写的代码量。

object 参数变为在其中读取 statement(s) 参数中的属性、变量和函数的上下文。例如,如果 objectmy_array,并且指定的两个属性为 lengthconcat,则这些属性将自动读取为 my_array.lengthmy_array.concat。在另一个示例中,如果 objectstate.california,则 with 语句内部的任何动作或语句将从 california 实例的内部调用。

若要查找 statement(s) 参数中某个标识符的值,ActionScript 将从 object 指定的范围链的开头处开始,按照特定的顺序在范围链的每个级别中搜索该标识符。

with 语句使用范围链解析标识符,该范围链从下面列表中的第一项开始,到最后一项结束:

  • 该对象在最内层的 with 语句中的 object 参数中指定。
  • 该对象在最外层的 with 语句中的 object 参数中指定。
  • Activation 对象(脚本调用函数时自动创建的临时对象,该函数包含函数中调用的局部变量)
  • 该对象包含当前正在执行的脚本
  • 全局对象(如 Math 和 String 等内置对象)。

若要在 with 语句内部设置变量,必须已在 with 语句外部声明了该变量,或必须输入了希望该变量所存在的时间轴的完整路径。如果在 with 语句中设置了未声明的变量,with 语句将根据范围链查找该值。如果该变量尚不存在,则将在调用 with 语句的时间轴上设置此新值。

 

 

参数
  object:Object — ActionScript 对象或影片剪辑的一个实例。


下例设置 someOther_mc 实例的 _x_y 属性,然后指示 someOther_mc 转到第 3 帧并停止。
with (someOther_mc)
{
 _x=50;
 _y=100;
 gotoAndStop(3);
}
下面的代码片断说明如何在不使用 with 语句的情况下编写上述代码。
someOther_mc._x=50;
someOther_mc._y=100;
someOther_mc.gotoAndStop(3);

with 语句对于同时访问一个范围链列表中的多个项很有用。下例中,内置的 Math 对象放置在范围链的前部。将 Math 设置为默认对象会将标识符 cossinPI 分别解析为 Math.cosMath.sinMath.PI。标识符 axyr 不是 Math 对象的方法或属性,但由于它们存在于函数 polar() 的对象激活作用域内,所以将其解析为相应的局部变量。

function polar(r:Number):void
{
 var a:Number, x:Number, y:Number;
 with (Math)
 {
  a=PI * pow(r, 2);
  x=r * cos(PI);
  y=r * sin(PI / 2);
 }
 trace("area = " + a);
 trace("x = " + x);
 trace("y = " + y);
}
polar(3); /* output: area = 28.2743338823081 x = -3 y = 3*/

<script type="text/javascript"></script>

分享到:
评论

相关推荐

    Lexical Analysis with Flex

    ### 使用Flex进行词法分析 #### 一、引言 Flex是一种用于生成扫描器的工具。扫描器(有时称为分词器)是一种能够识别文本中词法模式的程序。通过Flex,用户可以指定一系列规则来定义扫描器的行为,这些规则通常由...

    flex基本语法总结

    在本文中,我们将深入探讨Flex的基本语法,包括ActionScript的关键概念和常用操作。Flex是一种用于构建富互联网应用程序(RIA)的开发框架,它基于ActionScript编程语言。让我们逐一解析提供的内容,了解Flex编程的...

    flex优化全集 flex优化全集

    - **循环变量类型**:在循环中使用`int`类型作为循环变量可以提高执行速度。 ```as3 for (var i:int = 0; i ; i++) { // 循环体 } ``` #### 11. 数值类型转换 - **整型与浮点型**:在进行数值操作时,需要注意...

    flex基础参考huxj

    本文档通过实例讲解了Flex中ActionScript 3.0的基础语法特性,包括变量定义、函数定义、控制台打印、循环结构、方法参数定义、with语句以及类的定义等内容。这些基本概念是学习Flex开发的基石,掌握了它们之后,可以...

    flex题目大全

    使用方法是在Flex项目中引用所需的RSL,并在运行时动态加载。 #### 27. 如何使应用去掉水平滚动条而显示垂直滚动条? - **答案**:通过设置`&lt;s:Application&gt;`标签中的`scrollPolicy`属性。 #### 28. 我想创建的...

    lexertl work with bison example

    在"example_work_with_bison"这个项目中,我们将看到如何将这两个工具结合使用。首先,开发者会定义一个`.l`文件(通常用于`lex`或`flex`),但在这个例子中,该文件会被`lexertl`处理。在这个文件中,开发者会列出...

    flash_action3_with_example 中文版

    "flex3_actionscript_examples"可能包含使用Flex和AS3编写的实例代码,通过实际操作来加深对AS3的理解,例如: 1. 组件的使用和事件监听:如何添加按钮并响应点击事件。 2. 动画实现:通过Tween类或Timeline动画实现...

    testcomplete752

    TestComplete 7.50 is a significant release with major new features: * New Flex Plugin for greatly improved Adobe Flex object recognition. (Flex 对象识别的增强) * Big web testing, load testing...

    词法分析器

    实验中可能会使用如lex(或flex)和yacc(或bison)这样的工具,它们提供了一种声明性的方法来定义词法规则。 在进行词法分析器的实现时,需要对编译原理有深入的理解,包括正则表达式的构造、有限状态自动机的转换...

    flex 优化技巧 收集[提升性能]

    - **技巧描述**:对于不会改变的值,使用`const`关键字声明。 - **代码示例**: ```actionscript public const APPLICATION_PUBLISHER:String = "Company, Inc."; ``` - **原因分析**:常量在编译时就可以确定其...

    基于精简 C 语言的 C-MIPS 编译器(编译原理实验)【100012256】

    实验需要选择一个合适的 C 语言子集,能够体现 C 语言基本语法,特有关键字等,同时要能在这个子集的基础上写出具有特色的测试程序。在通过本实验所做编译器编译完成后,通过 MARS 汇编器将汇编代码汇编为汇编语言后...

    [Online]Compilers_And_Compiler_Generators-An_Introduction_With_C++.zip

    1. **词法分析**:也称为扫描,它将源代码分解为一个个被称为“标记”的小单元,这些标记由关键字、标识符、常量、运算符等组成。 2. **语法分析**:通常由解析器执行,它检查标记序列是否符合语言的语法规则,形成...

    前端面试题整理

    - 或者使用Flex布局,通过`display: flex; justify-content: center; align-items: center;`使子元素在其父容器中水平垂直居中。这种方法更简洁,适用于现代浏览器。 以上内容总结了前端开发中常见的知识点和技术...

    leetcode下载-17x.github.io:17x.github.io

    使用:angular1.5.2+sass+gulp+flex+rem 地区筛选,分类筛选,关键字搜索。 信息展示(图片文字) 登陆注册,信息发布,图片上传。 用户信息,收藏浏览等 插件: 小东西: PC页面: 移动端页面(REM布局): 开发: ...

    前端笔试面试题目总结.docx编程资料

    - **触发方式**:在脚本文件或 `&lt;script&gt;` 标签中使用 `use strict` 指令触发严格模式。 - **意义**:严格模式有助于捕捉代码错误,防止某些意外的行为,使代码更加健壮。 #### 英文术语理解 - **HTML**:...

    深入理解PHP原理之执行周期分析

    Zend Engine使用的词法分析器是基于flex工具生成的,它通过一个词法规则文件(zend_language_scanner.l)来定义PHP源代码的词法规则。 2. 语法分析(Syntax Analysis): 接下来的阶段是语法分析。在这里,由Yacc...

    基于j2ee的ajax宝典

    3.11.1 使用new关键字创建对象·············· 115 3.11.2 使用Object直接创建对象·············· 115 3.11.3 使用JSON语法创建对象·············· 118 3.12 小结····...

Global site tag (gtag.js) - Google Analytics