`

Flex面试题(一)

阅读更多
1.使用Flex Bulider3建立一下新的.mxml的页面时默认的背景是蓝色的,请问用什么办法能修改掉此背景颜色,以至于下次创建时背景不是为默认的蓝色的呢?请写出你认为正确的方法。

答:修改sdk\frameworks\projects\framework\default.css里Application的backgroundColor: #0000FF;



2.使用Flex Bulider3如何跟踪程序?

答:我知道的三种1.trace() 2.设置断点 3.当不在调试模式时可以调用as的Alert.show()或js的alert() 如:navigateToURL(new URLRequest("javascript:alert(traceMsg)"), "_self");



3.请问enterFrame和timerEvent这2个事件有什么区别?请说下具体的使用方法和相关的使用场合?

答:enterFrame是按帧发生,timeEvent是根据设置的Timer类参数发生。如:

用ENTER_FRAME控制小球圆周运动:

addEventListener(Event.ENTER_FRAME,ballMove);

用TIMER控制小球圆周运动:

var myTimer:Timer=new Timer(83.3,0);//关于该数的设置见TIMER类的说明

myTimer.start();

myTimer.addEventListener(TimerEvent.TIMER,ballMove);



4.请说下你理解AS3的事件机制是什么机制?你认为正确的就可以说出来.

答:建立一个完整的事件机制需要四个步骤:注册侦听、分发事件、侦听事件、移除侦听。建立成功后,触发事件,事件流会进行捕获、目标和冒泡三个阶段。捕获阶段由FP沿显示列表从根容器往下层层寻找触发事件的目标对象,找到后即进入目标阶段。然后,事件对象从目标对象再次沿显示列表往上移动至根容器,遇到注册侦听的节点就调用侦听函数。如果想中途中断冒泡,可以使用stopPropagation。



5.请问addEventListener里面有几个参数,你能说出具体的使用方法嘛?

答:addEventListener(

  type:String,    事件的类型

  listener:Function,    监听函数

  useCapture:Boolean = false,    是否打开捕获功能

  priority:int = 0,    监听器优先级别

  useWeakReference:Boolean = false    是否使用弱引用

)



6.请问我想判断一个字体是否是数字,用什么办法去判断呢?

答:isNaN(parseInt(strPara) 或 strPara is Number



7.请问我想判断一个字符或者一个对象的类型怎么判断呢?

答:typeof(obj)



8.请问你了解 internal 控制符么?能说下具体使用方法和场合嘛?

答:internal是默认的包内访问,体现了封装思想和package模块化思想。举例来说,A类需要使用B类和C类的方法和属性,但又不希望它们对其他类暴露,只要将A,B,C放入同一包内,包外的其他类就无法使用B,C类了。



9.我想在某一点不去执行任何内容,也就是说我想停止执行了,你知道要怎么做嘛?

答:设置断点



10.请问 undefined 和 null 是否一样,如果不一样能否说出其中的区别呢?

答:undefined是尚未初始化的无类型变量或未初始化的动态对象属性的特殊值。null是一个可以分配给变量的或由未提供数据的函数返回的特殊值。它们的相同之处在于都未初始化,不同在于undefined是无类型或动态类型的。如:

var v1;trace(v1);//undefined

var v2:*;trace(v2);//undefined

var v3:Object;trace(v3);//null



11.创建常量知道怎么创建嘛?说下你是怎么创建的.

答:const PI:Number = 3.1415926; public static const STARTUP:String = "startup";



12.请问用什么方法自定义一个事件呢?说下具体的方式.

答:(1)扩展Event类或其子类

       (2)定义一个static const常量作为事件的type传入构造函数

       (3)定义一个私有变量作为事件的Data保存数据,并为其添加getter和setter

       (4)覆盖toString()和clone()方法



13.请问怎么样检测本机的内容呢,比如说,我想知道本机的操作系统,是否有视频等这些.

答:flash.system.Capabilities.os 当前的操作系统

flash.system.Capabilities.hasStreamingVideo系统是否可以播放视频流



14.请问用什么办法解决安全域的问题?如果你不知道安全域的问题的话,可以在本机中绑定一下图片,然后再放到服务器上,就会出现此问题了.

答:配置安全沙箱的策略文件crossdomain.xml放置到服务器根目录,如:

<?xml version="1.0" encoding="UTF-8"?>

<cross-domain-policy>

       <allow-access-from domain="*" />

</cross-domain-policy>



15.有三种基本数字类型:number, int, 和uint 请问有什么区别.具体说一下.

答:number数字类型包含浮点型(正0负); int 整型(正0负); uint(无符号整型)



16.parseInt此方法转化为int型的方法,请问你知道此方法的第二个参数是什么意思嘛?

答:指定第一个参数字符串的进制,范围为2-36。例如parseInt(“100”,2)=4



17.Math.round( ), Math.floor( ) 和Math.ceil( ) 三个方法都是四舍五入,请问有什么区别?

答:round 是取最接近的整数,即原数+0.5后取整;floor向下取整;ceil向上取整



18.请问一个数组里可以放不同的类型嘛?

答:可以,如var x:Array = ['a',1,new Button()];



19.var letters:Array = ["a", "b", "c"];我想在这个数组里搜索‘c’字符,请问怎么办?

答:for(var i:* in letters)

     if(letters[i] == 'c') trace("c's position is " + i);或

if(letters.toString().indexOf('c') > 0)

     trace( "c's position is " + letters.toString().indexOf('c') );



20.怎么样转换数组为字符串,怎么样将字符串转化为数组?

答:数组->字符串:trace(new Array('a','b','c').join("").toString());

字符串->数组: var arr:Array = new String("a,b,c").split(',');



21.我想创建的视图居中怎么办?

答:布局策略里面限定为居中,即horizontalAlign="center" verticalAlign="middle";或者在每个控件都以舞台的中心作为相对坐标来计算各自的xy值。



22.请问知道层级的概念嘛?如果知道请问怎么样交换2个组件的层级呢?

答:层级表示的是显示对象在显示列表中的位置,从第0层开始,位于最下面。

交换组件层级可以使用id交换,也可以直接交换层级索引。如:

my_sprite.swapChildren(my_ball2, my_ball1);

my_sprite.swapChildrenAt(2, 1);



23.请问你知道loader,URLLoader,URLStream这个三种动态加载资源的具体使用场合,以及有什么区别嘛?

答:(1)Loader像2.0中MovieClip的loadMovie功能,用于加载外部的图片和SWF文件。使用 load() 方法来启动加载。被加载的显示对象将作为 Loader 对象的子级添加。在使用Loader加载数据,添加侦听事件时,一定要给Loader的contentLoaderInfo属性增加事件,而不是给Loader对象增加事件。

(2)URLLoader类以文本、二进制数据或URL编码变量值对的形式先从URL下载数据,然后才将数据用于ActionScript。它会发出有关下载进度的通知,通过bytesLoaded和bytesTotal属性以及已调度的事件,可以监视下载进度。

(3)URLStream类提供对下载URL的低级访问。数据一下载,便可随即为应用程序使用,这和使用URLLoader需要等到整个文件下载完不同。并且URLStream类还允许在完成下载前关闭流。已下载文件的内容将作为原始二进制数据提供。

(4)URLStream、URLLoader、Loader等读取外部数据的类,类里的load方法参数值是URLRequest对象。如:

var request:URLRequest=new URLRequest("httpURL地址");

loader.load(request);



24.如何把MouseEvent 的localX 和localY 属性转化成全局坐标?

答:全局坐标系:stageX,stageY。原点位于舞台左上角。

本地坐标系:localX,localY。原点位于相对组件的左上角。

内容坐标系:contentMouseX和contentMouseY。描述鼠标相对于整个容器内容的位置,用于当子组件的高或宽可能超出容器自身设置高宽的情况。

转换方法:

contentToGlobal内容到全局坐标

contentToLocal内容到本地坐标

globalToContent全局到内容坐标

globalToLocal全局到本地坐标

localToContent本地到内容坐标

localToGlobal本地到全局坐标



25.请问我现在有一个正方形的图片,我想把他做成圆形,有什么办法呢?前提是用flex或者as3

答:不清楚,是不是用BitMapData的draw方法实现呢?会的朋友请告诉我。



26.请问新创建的一个sprite能否被直接加到ui容器里?如果不能请说出用什么办法能加入.

答:不能。先将sprite加入一个扩展自UIComponent的类,再加入UI容器。



27.我怎么设置把一个文本框,设置成一个密码框?

答:将displayAsPassword属性设置为true



28.我想在文本框里只能输入abcd,有什么办法能做到呢?如果我想输入除abcd以外的其它都能输入又怎么做呢?

答:restrict=”a-d”。restrict="^(a-d)"



29.请问condenseWhite 这个属性在TextInput里是表示什么意思?

答:仅会应用于通过htmlText属性设置的文本,默认为false。当设置为true时,会删除文本中额外的换行和空白。



30.我现在刚创建的文件的text为 this is a text,我想设置光标在 is 上,请问怎么设置?

答:触发事件,在侦听函数上让selectionBeginIndex=5,selectionEndIndex=6



31.请问怎么样在文本框里添加超链接?

答:(1)使用文本框的htmlText属性添加必须以"event:"开头的超链接,如<a href='event:geturl|http://***/|_blank'>这儿</a>

(2)添加对TextEvent.LINK事件类型的侦听,如addEventListener(TextEvent.LINK,clickLink);

(3)"event:"后面的字符串将被包含在侦听事件的text属性里,如

private function clickLink(event:TextEvent):void

{

   var cmdArray:Array = event.text.split("|");

   if(cmdArray[0]=="geturl")

      navigateToURL(new URLRequest(cmdArray[1],cmdArray[2]);

}



32.我想获取系统里的字体,请问怎么办?

答:import flash.text.Font;

var allFonts:Array = Font.enumerateFonts(true);

allFonts.sortOn("fontName", Array.CASEINSENSITIVE);

var fontsLength:int=allFonts.length;

for(var i:int=0;i<fontsLength;i++)

trace("字体名称:"+allFonts[i].fontName+"字体样式:"+allFonts[i].fontStyle+"字体类型:"+allFonts[i].fontType)



33.substring( ),substr( ), slice(),请说下3种解析字符串的不同之处,以及适用场合?

答:substring(v1,v2): 截取从v1到v2的字符串,包括v1,不包括v2

substr(v1,v2): 从v1开始,截取v2长度

slice(v1,v2):类似于substring,不过可以接受负值参数,表示倒数第几位



34. var fruits:XML =

Apple

Orange

Pear

Watermelon

;

以下有一个字符串,我现在知道了color为orange,我想知道此color相对应的name节点的值,我应该怎么做?

答:原题的XML不规范。找到name节点值可以用fruits.fruits(@color==’orange’).name



35.请说下目前使用flex和后台交互的几种方法,以及适用场合.

答:(1)基于AMF消息格式的RemoteObject组件,如Lcds/BlazeDs,AMFPHP等。

(2)基于SOAP消息格式的WebService,对于使用SOAP的服务器方便连接。

(3)基于纯文本或拥有良好格式的XML消息格式的HTTPService组件。

一般来说,选用高效稳定的RemoteObject中间件。
分享到:
评论

相关推荐

    flex 面试题flex

    【Flex面试题】Flex面试题主要涵盖Flex的基础概念、开发框架、MVC模式的应用、内存管理、垃圾回收机制、前端性能优化以及与后端通信等多个方面。以下是对这些知识点的详细解析: 1. AS2与AS3的区别: AS2...

    Flex面试题一宣贯.pdf

    Flex是一个强大的RIA(富互联网应用)...在准备Flex面试时,考生应深入理解上述知识点,并能够应用这些知识点解决实际问题。这些知识点的掌握程度,往往反映了应试者对Flex和ActionScript3.0的熟悉程度和实际编程能力。

    Flex面试题.pdf

    Flex面试题涉及到多个方面,包括ActionScript(AS)版本差异、Flex开发框架、MVC模式的应用、内存管理、垃圾回收机制、前后端交互、性能优化以及Flex与Flash的协同开发等核心知识点。以下是对这些内容的详细解释: ...

    Flex面试题集锦(全)

    Flex面试题集锦,整理了很多实际公司的面试题型,涵盖范围很广,这些题型搞定了,面试基本上没问题了。

    FLEX面试题

    ### FLEX面试题详解 #### 1. 如何在容器中隐藏滚动条? 在Flex中,如果希望在容器内不显示滚动条,可以通过设置`horizontalScrollPolicy`和`verticalScrollPolicy`属性为`off`来实现。这两个属性分别控制水平和...

    Flex面试试题(By稻田).doc

    在Flex面试中,考察的主要是开发者对Adobe Flex框架的理解和应用能力。以下是对题目中涉及知识点的详细解释: 一、类名修饰符的作用: 1. `public`: 公共访问修饰符,表示该类、变量或方法可以在任何地方被访问,...

    Flex面试题及答案

    ### Flex面试题及答案解析 #### 1. 如何避免容器显示滚动条? 在Flex中,如果不想在容器中显示滚动条,可以通过设置`horizontalScrollPolicy`和`verticalScrollPolicy`属性为`off`来实现。这两个属性控制着水平和...

    flex面试题

    Flex面试题涵盖了许多关键知识点,包括Flex容器的滚动条控制、项目类型、RSL(Runtime Shared Libraries)的使用、SWC文件的制作、文件优化、数据类型比较、事件处理、MVC模式应用以及自定义组件的创建。下面将对...

    Flex面试题文.pdf

    总结来说,Flex面试题涉及ActionScript版本差异、框架选择、MVC实现、内存管理、垃圾回收、后端通信、性能优化以及开发工具的使用等多个方面,这些都是Flex开发者必备的知识点。熟悉并掌握这些内容,有助于在面试中...

    flex面试题集

    【Flex面试知识点详解】 1. **程序跟踪**:在Flex Builder3中,跟踪程序的方法有多种。`trace()`函数可以在控制台输出信息,方便调试;设置断点可以在代码的特定位置暂停程序,以便检查变量状态;非调试模式下,...

    收集的很全面的Flex面试题

    ### Flex面试题解析 #### 1. 修改默认背景颜色 - **问题**: 使用FlexBuilder 3建立一个新的.mxml页面时,默认背景为蓝色。如何修改这一设置,使得下次创建时背景不再是默认的蓝色? - **解答**: 要修改Flex项目的...

    flex试题打包面试题挺好的

    根据提供的文件信息,我们可以归纳出一系列与Flex相关的知识点,这些知识点涵盖了Flex开发中的基础概念、事件处理、数据类型转换、数组操作等多个方面。下面将详细解释这些知识点。 ### 1. Flex 默认背景颜色的修改...

    从网上搜集的比较全的FLEX面试题

    从网上搜集的比较全的Flex面试题目及答案,主要涉及Flex基础知识和ActionScript3.0的语法细节,希望对大家有所帮助

    javaEE+SSH2+FLEX+JQUERY+ajax面试题集合

    Flex是一种用于创建富互联网应用程序(RIA)的开源框架,主要基于ActionScript和MXML,提供动态和交互性的用户体验。jQuery是JavaScript库,简化了DOM操作、事件处理、动画制作以及Ajax交互。Ajax则是异步JavaScript...

    Flex__as__面试题.doc

    【Flex AS面试题】 在Flex开发中,ActionScript(AS)是主要的编程语言,而AS2和AS3是两个重要的版本。AS2与AS3的主要区别在于它们的基础架构和特性。AS2基于ActionScript Virtual Machine 1 (AVM1),而AS3则基于A...

    前端大厂最新面试题-2020阿里高德前端社招面经.docx

    前端大厂最新面试题-2020阿里高德前端社招面经 今天,我将为您讲解前端大厂最新面试题-2020阿里高德前端社招面经.docx这个文件的知识点。这个文件包含了阿里高德前端社招面经的部分内容,涵盖了前端工程师面试的多...

Global site tag (gtag.js) - Google Analytics