Flex3.0面试题
前端开发工程师面试题及答案
前端开发工程师面试题及答案在前端开发领域,面试是选拔优秀人才的重要环节。
以下是一些常见的前端开发工程师面试题以及对应的参考答案。
一、HTML 和 CSS 相关问题1、解释一下盒模型以及它在布局中的作用。
答案:盒模型是 CSS 中用于布局的基本概念,它由内容(content)、内边距(padding)、边框(border)和外边距(margin)组成。
在布局中,理解盒模型对于准确计算元素的尺寸和间距非常重要,能够帮助我们实现各种复杂的页面布局。
2、如何实现一个两栏布局,左边固定宽度,右边自适应?答案:可以使用多种方法实现。
一种常见的方式是使用浮动(float),将左边栏设置为固定宽度并向左浮动,右边栏不浮动,并设置其左边的外边距(marginleft)为左边栏的宽度。
也可以使用 flex 布局,将父容器设置为 display: flex; ,左边栏设置固定宽度,右边栏设置flex: 1; 以实现自适应。
3、说一说 CSS 选择器的种类和优先级。
答案:CSS 选择器包括元素选择器、类选择器、id 选择器、属性选择器、伪类选择器、伪元素选择器等。
选择器的优先级从高到低依次为:内联样式(通过 style 属性设置)> id 选择器>类选择器、属性选择器、伪类选择器>元素选择器、伪元素选择器。
二、JavaScript 相关问题1、谈谈你对 JavaScript 中作用域和闭包的理解。
答案:作用域决定了变量的可见性和可访问性。
在 JavaScript 中有全局作用域和函数作用域。
闭包是指有权访问另一个函数作用域中的变量的函数。
闭包可以让函数记住其创建时的环境,即使外部函数已经执行完毕,闭包仍能访问外部函数中的变量。
2、如何实现 JavaScript 的继承?答案:常见的实现方式有原型链继承、借用构造函数继承、组合继承、寄生组合继承等。
原型链继承通过将子类型的原型指向父类型的实例来实现继承;借用构造函数继承通过在子类型的构造函数中调用父类型的构造函数来继承属性;组合继承结合了原型链继承和借用构造函数继承的优点;寄生组合继承是一种优化的组合继承方式,避免了不必要的父类实例属性的重复创建。
Flex面试精华题
1.as2与as3.的最主要区别是什么?答:首先,as2 和as3是完全不同的语言,几乎没有兼容性可言。
as2编译用的AVM1虚拟机,as3用的AVM2,速度快,提供了一些基础异常处理。
as3是纯的OOP,强类型语言。
as2不是。
具体的差别有太多太多。
2.flex的开发框架有哪些,它们有什么优缺点?答:最常见的当然是Cairngorm、Puremvc了,此外还有Mate,Swiz等等,据说被广泛应用的已经有10几款了。
Cairngorm作为Adobe官方出品,有着贵族血统的它比较全面,是这些框架中已知bug最少的,但是基于他的应用相对臃肿复杂一些,需要对每个可以被触发的事件写一个对应的Command,编码量巨大,并且单元测试很不容易,不适合敏捷开发。
Puremvc应该是现在用的最多的as框架了。
比较完善、并且与Cairngorm相比,更适合中小型应用的开发,它与Cairngorm一样,也是以MVC模式为中心,并以Façade作为中央存储器的单件类的形式进行开发的。
说下Mate,它是一个比较奇怪的框架,是基于标签的事件驱动型的。
也就是说你不能再随意的写as类的,在使用Mate的情况下,只能用MXML 来做这些事情。
Swiz是Mate的孪生兄弟,长的挺像,没具体用过,不大了解。
3.在flex开发中,很多代码都写在mxml文件里,为了做到mvc模式,你是怎么处理的。
我认为mxml并不影响mvc模式啊。
分两种情况来讨论,首先,是自己创建整个应用结构的时候,那我们可以手动将UI所在的mxml归为一类,然后由Mediator去操作或者说控制这些组件既可了,然后Mediator又统一交给Controller去操作。
如果采用其他框架来进行开发的话,那就更不用来考虑这个问题了,像Cairngorm、Puremvc之类的框架已经很好的为我们解决了这些问题。
只要按照它们的使用规范来进行开发,自然没有问题。
4.如果发生内存泄露,你是如何解决的?在profile观察中已经内存泄漏是没有很好的解决办法的,至少我不知道,我能做的只是尽量去避免这种情况的发生,比如说注意不要循环引用,特别是在使用Timer的时候要格外注意,不要忘记全局对象上的引用的清除,在创建控制器和模型的时候要注意一定要使用单件模式。
关于FlexActionScript面试题有哪些
关于FlexActionScript面试题有哪些Flex 最初由Macromedia公司在2004年3月发布的,基于其专有的Macromedia Flash平台,它是涵盖了支持RIA(Rich Internet Applications)的开发和部署的一系列技术组合。
下面是本人为你整理的Flex面试题,希望对你有所帮助!1、什么是面向对象?如何理解面向对象?2、用过哪些软件?看过哪些专业书籍?3、 Flash CS 元件与类如何绑定?4、编程中遇到问题如何解决的?5、 Int(-1)==uint(-1) True or False?6、如何加载图片?7、连接服务器?用到什么类?如何操作?8、事件流机制的三个阶段?9、如何理解垃圾回收机制?程序中如何应用?10、 for in 和 for each in 的区别?11、数组排序的关健字用哪些?各有何作用?12、直接继承自DisplayObject类有哪些?13、事件类如何传递参数?14、 DisplayObjectContainer.MouseChildren什么作用?15、 Loader 与 LoaderURL 的区别16、 Event的属性有哪些?17、 Array 的IndexOf 的作用?18、 Array 的splice 和 slicer 的区别?19、生成一个随机正整数,且该数小于等于100,判断是否为回文数?20、 Array 中头部新增一个元素的属性名是什么?21、 AS 3.0的核心类有多少?你用过哪些?22、随机生成一种颜色?23、 Is 的作用?24、 ==和===的区别?25、如何理解封装?26、 Get Set 的作用?27、静态属性和动态属性的区别?28、静态常量的关键字是什么?29、静态属性的作用有哪些?30、 Timer类用过哪些属性?31、 BitmapData的作用?32、 Shape Sprite BitMap哪些可以接受鼠标事件?33、继承自DisplayObjectContainer有哪些类?34、异常:try-catch-finally如何使用?35、 XML36、 Flex面试题。
Flex面试题
一次阴差阳错,让我去了一家做Flex公司面试.我是搞JAVA开发,他却发了关于Flex的试题.因为自己自学过Flex,试题就看了一遍,感觉很基础.从试题中我也感觉到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个事件有什么区别?请说下具体的使用方法和相关的使用场合?没接触过,待学习中4.请说下你理解AS3的事件机制是什么机制?你认为正确的就可以说出来. 答:从应用程序到最外层的容器在到容器里的组件或容器遍历注册的事件,然后按照原路返回冒泡响应事件5.请问addEventListener里面有几个参数,你能说出具体的使用方法嘛?答:只用过前4个,参数分别为:Event名称,响应(回调)函数,是否冒泡时响应,Event级别6.请问我想判断一个字体是否是数字,用什么办法去判断呢?答:isNaN(parseInt(strPara) 或 strPara is Number7.请问我想判断一个字符或者一个对象的类型怎么判断呢?答:typeof(obj)8.请问你了解 internal 控制符么?能说下具体使用方法和场合嘛?答:同一个包里才能调用internal所定义的变量或对象9.我想在某一点不去执行任何内容,也就是说我想停止执行了,你知道要怎么做嘛?答:设置断点10.请问 undefined 和 null 是否一样,如果不一样能否说出其中的区别呢? 答:undefined未定义过的变量或对象; null没有被赋值或创建的变量或对象11.创建常量知道怎么创建嘛?说下你是怎么创建的.答:const PI:Number = 3.1415926;12.请问用什么方法自定义一个事件呢?说下具体的方式.答:先用as创建一个event类,然后<1>可以用addEventListener直接响应<2>也可以用元标签声明 [Event(name=事件名称,type=事件类)],然后创建对象->dispatchEvent(创建的对象)->mxml标签中使用事件名称来响应13.请问怎么样检测本机的内容呢,比如说,我想知道本机的操作系系,是否有视频等这些.答:flash.system.Capabilities.os 是系统类型flash.system.Capabilities.playerType 是视频播放器类型14.请问用什么办法解决安全域的问题?如果你不知道安全域的问题的话,可以在本机中绑定一下图片,然后再放到服务器上,就会出现此问题了.没接触过,待学习中15.有三种基本数字类型: number, int, 和uint 请问有什么区别.具体说一下.答:number数字类型包含浮点型(正0负); int 整型(正0负); uint(无符号整型)16.parseInt此方法转化为int型的方法,请问你知道此方法的第二个参数是什么意思嘛?答:进制 2 8 16 等17.Math.round( ), Math.floor( ) 和Math.ceil( ) 三个方法都是四舍五入,请问有什么区别?答:都是取整:round 是原数+0.5后取整(3.0->3.0+0.5=3.5->4;3.9->3.9+0.5=4.4->4);floor向下取整(3.4->3;3.9->3);ceil向上取整(1.3->2;2.8->3)18.请问一个数组里可以放不同的类型嘛?答:可以 var x:Array = ['a',1,new Button()];19.var letters:Array = ["a", "b", "c"];我想在这个数组里搜索‘b’ 字符,请问怎么办?答:/*1*/for(var i:* in letters)if(letters == 'c') trace("c's position is " + i);/*2*/if(letters.toString().indexOf('c') > 0)trace( "c's position is " + (letters.toString().indexOf('c')- letters.length + 1) );20.怎么样转换数组为字符串,怎么样将字符串转化为数组?答:数组->字符串:trace(new Array('a','b','c').join("").toString());字符串->数组: var arr:Array = new String("a,b,c").split(',');21.我想创建的视图居中怎么办?22.请问知道层级的概念嘛?如果知道请问怎么样交换2个组件的层级呢?23.请问你知道loader,URLLoader,URLStream这个三种动态加载资源的具体使用场合,以及有什么区别嘛?24.如何把MouseEvent 的localX 和localY 属性转化成全局坐标?25.请问我现在有一个正方形的图片,我想把他做成圆形,有什么办法呢?前提是用flex或者as326.请问新创建的一个sprite能否被直接加到ui容器里?如果不能请说出用什么办法能加入.27.我怎么设置把一个文本框,设置成一个密码框?28.我想在文本框里只能输入abcd,有什么办法能做到呢?如果我想输入除abcd 以外的其它都能输入又怎么做呢?29.请问condenseWhite 这个属性在TextInput里是表示什么意思?30.我现在刚创建的文件的text为 this is a text,我想设置光标在 is 上,请问怎么设置?31.请问怎么样在文本框里添加超链接?32.我想获取系统里的字体,请问怎么办?33.substring( ),substr( ), slice(),请说下3种解析字符串的不同之处,以及适用场合?34. var fruits:XML =AppleOrangePearWatermelon;以下有一个字符串,我现在知道了color为orange,我想知道此color相对应的name节点的值,我应该怎么做?35.请说下目前使用flex和后台交互的几种方法,以及适用场合.36.我现在想在flex里调用JS方法,我要怎么办呢?37.我想用JavaScript调用ActionScript函数,我要怎么办呢?38.FileReference 请说下此对象的几个相关事件一.简述Flex内存释放优化原则。
前端适配面试题
前端适配面试题当涉及到前端适配的面试题时,以下是一些常见的问题和可能的答案:1.什么是响应式设计(Responsive Design)?答:响应式设计是一种网页设计和开发的方法,使网页能够根据用户的设备(如桌面电脑、平板电脑、手机等)和屏幕尺寸自动适应和调整布局、字体大小、图像大小等,以提供更好的用户体验。
2.描述一下媒体查询(Media Queries)的作用。
答:媒体查询是CSS中的一种技术,它允许我们根据设备的特性(如屏幕宽度、高度、像素密度等)来设置样式规则。
通过媒体查询,我们可以实现响应式设计,以在不同的设备上提供不同的样式和布局。
3.什么是流体布局(Fluid Layout)?答:流体布局是一种相对尺寸的布局方法,其中元素的宽度和间距使用相对于父容器的百分比来定义,而不是固定的像素值。
这样,当屏幕尺寸改变时,布局会自动调整以适应不同的屏幕尺寸。
4.请解释一下像素密度(Pixel Density)是什么?答:像素密度是指设备屏幕上每英寸所显示的物理像素数量。
在不同的设备上,像素密度可以不同,这导致相同的CSS像素在不同设备上显示的物理尺寸可能不同。
5.请介绍一下常用的前端适配技术或框架。
答:常用的前端适配技术或框架包括:o媒体查询(Media Queries):通过CSS样式根据设备特性进行条件判断。
o流体布局(Fluid Layout):使用百分比定义布局的大小和间距,以适应不同的屏幕尺寸。
o弹性布局(Flexbox):通过Flexbox布局模型来实现自适应和响应式的布局。
o响应式框架(如Bootstrap):提供可重用的组件和栅格系统,以便在不同设备上进行快速响应式开发。
这些问题和答案可以帮助在前端适配的面试中展示你对于响应式设计和适配技术的理解和经验。
当回答这些问题时,确保能够提供具体的示例或应用场景,以显示对于实际应用的能力和经验。
web前端面试题总结(包括京东、科大讯飞、软通动力一些公司)
web前端⾯试题总结(包括京东、科⼤讯飞、软通动⼒⼀些公司)前端⾯试总结(红⾊题为必考,其他为常考)⼀、关于css⾯试题 1、css垂直居中的集中⽅式? html结构如下:<div class="box"><div>垂直居中</div></div> ⽅法1:display:flex.box{display: flex;justify-content:center;align-items:Center;} ⽅法2:绝对定位和负边距 .box{position:relative;} .box div{position: absolute; width:100px; height: 50px; top:50%; left:50%; margin-left:-50px; margin-top:-25px; text-align: center; } ⽅法3:translate.box{position:relative;}.box childdiv{position: absolute;top:50%;left:50%;width:100%;transform:translate(-50%,-50%);text-align: center;} ⽅法4:table-cell.box{ display: table-cell;vertical-align: middle;text-align: center;} ⽅法5:偏移量0+margin:auto.wrap{positon:relative;}.center{positon:absolute;top:0;bottom:0;left:0;right:0;margin:auto;}2、对于移动端的布局⽅式? 答:1.【采⽤display:flex布局兼容ie10+(推荐地址)】 2.采⽤百分⽐布局; 3.采⽤rem、em、或者vh vw来写宽⾼布局3、对于移动端使⽤rem,em、px、vw/vh区别 答:px :绝对单位,页⾯按像素计算,其值固定不变 em : 相对定位,相对于⽗节点的值来计算,缺点:相对于⽗节点的font-size(默认为16px)值来计算,出现层层嵌套问题,计算⿇烦 rem:相对定位,相当于em的升级版,区别在于rem相对于根元素html来计算,不会出现em的层层嵌套问题,可以作为弹性布局,其浏览器兼容性也⽐较好;(缺点:1.和根元素的font-size耦合性 强,系统字体⽅法缩⼩时,会出现布局混乱的情况,2,html头部需要插⼊⼀段js代码 vw vh:浏览器视窗⼤⼩(viewport)即:100vw = window.innerwidth 100vh = window.innerHeiht %:百分⽐ vw 和 % 的区别:1.%是根据⽗元素的宽⾼来计算的,⽽vw则是以viewport来计算 2.100vw包括了页⾯滚动条宽度(页⾯滚动条属于viewport范围内,100vw当然包括了页⾯滚动条宽度)4、css3的兼容问题(⼀般简单的答⼀些常⽤的兼容问题就好,不常⽤的就说碰到了百度解决的)5、盒⼦模型(标准盒⼦模型、ie盒⼦模型) 答:盒⼦模型由 html元素的内容content+内边距padding+边框border+外边距margin组成,标准盒⼦模型(box-sizing:content-box)元素的所设宽度就是内容content宽度⽽ie盒⼦模型(box-sizing:border-box)所设宽度由content+padding+border组成⼆、关于html5、css3⾯试题1、html5的新属性有哪些?(列举⼀些新增常⽤的语义化标签nav、footer、section、article、aside,以及input新增属性type:date、email、time、color等,以及媒体标签(video、audio),canvas,svg,本地存储(localstorage、sessionstorage),websocket以及实现原理)2、css3新增属性以及动画? ①border-radius:圆⾓边框;②border-image:图⽚边框;③background-size:背景的尺⼨ ④background-origin:背景图⽚的定位区域 ⑤text-shadow:⽂本阴影效果 ⑥word-wrap:单词太长的话就可能⽆法超出某个区域,允许对长单词进⾏拆分,并换⾏到下⼀⾏ ⑦transform:translate(平移)/rotate(旋转)/scale(缩放)/skew(扭曲); ⑧transition:background 2s; transition-property: 过渡属性(默认值为all) transition-duration: 过渡持续时间(默认值为0s) transiton-timing-function: 过渡函数(默认值为ease函数) transition-delay: 过渡延迟时间(默认值为0s) ⑨@media媒体查询 @media screen and (max-width: 300px) {body { //写专属该媒体查询内的专属cssmargin: 0px; padding: 0px;}}⑩animation:3、前端seo优化有哪些?(推荐地址:)4、Localstorage、sessionstorage、cookie三者各个的区别,及特点,优点,本地存储使⽤场景具体怎么使⽤?(推荐地址:)三、关于js/jq⾯试题1、http请求过程有哪些?(推荐地址:)1. 对⽹址进⾏DNS域名解析,得到对应的IP地址2. 根据这个IP,找到对应的服务器,发起TCP的三次握⼿3. 建⽴TCP连接后发起HTTP请求4. 服务器响应HTTP请求,浏览器得到html代码5. 浏览器解析html代码,并请求html代码中的资源(如js、css、图⽚等)(先得到html代码,才能去找这些资源)6. 浏览器对页⾯进⾏渲染呈现给⽤户7. 服务器关闭关闭TCP连接2、原⽣ajax请求过程?//第⼀步,创建XMLHttpRequest对象var xmlHttp = new XMLHttpRequest();//第⼆步,注册回调函数xmlHttp.onreadystatechange = function() {if (xmlHttp.readyState == 4)if (xmlHttp.status == 200) { //取得返回的数据 var data = xmlHttp.responseText;}}}//第三步,配置请求信息,open(),get//get请求下参数加在url后,.ashx?methodName=GetAllComment&str1=str1&str2=str2xmlHttp.open("post", "/ashx/myzhuye/Detail.ashx?methodName=GetAllComment", true);//post请求下需要配置请求头信息//xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");//第四步,发送请求,post请求下,要传递的参数放这xmlHttp.send("methodName = GetAllComment&str1=str1&str2=str2");//"3、post请求以及get请求的优缺点?(1)post更安全(不会作为url的⼀部分,不会被缓存、保存在服务器⽇志、以及浏览器浏览记录中)(2)post发送的数据更⼤(get有url长度限制)(3)post能发送更多的数据类型(get只能发送ASCII字符)(4)post⽐get慢(5)post⽤于修改和写⼊数据,get⼀般⽤于搜索排序和筛选之类的操作(淘宝,⽀付宝的搜索查询都是get提交),⽬的是资源的获取,读取数据4、对array数组处理以及string处理的⼀些常⽤⽅法?(推荐地址:)5.js对数据类型检测,例如:如何检测数据类型为string/number/array等(推荐地址:)6、如何遍历⼀个数组⾥的每个数据?(主要考遍历的⼀些⽅法 for循环,forEach(),map()⽅法,filter())7、js中排序的⼏种⽅式?(推荐地址:)8、JavaScript中捕获/阻⽌捕获、冒泡/阻⽌冒泡,事件流(推荐地址:)9、怎样进⾏深拷贝及浅拷贝?他们的区别?(推荐地址:)10、关于this指向问题,在不同的场景下this的指向?11、关于闭包,如何创建闭包,闭包的⽤处及缺点?(推荐地址:)12、怎样理解原型、原型链?答:每个对象都会在其内部初始化⼀个属性,就是prototype(原型),当我们访问⼀个对象的属性时,如果这个对象内部不存在这个属性,那么他就会去prototype⾥找这个属性,这个prototype⼜会有⾃⼰的prototype,于是就这样⼀直找下去,也就是我们平时所说的原型链的概念。
前端面试题--CSS篇
前端⾯试题--CSS篇1. ⾯试中,被问到关于flex布局中,flex-shirink的计算问题。
⽗元素宽度300px,display为flex, ⼦元素1宽度100px,flex-shirink为1,⼦元素2宽度300px,flex-shirink为2。
⼦元素1,⼦元素2的实际宽度是多少?如何计算?<div class="box"><div class="first">85.719</div><div class="second">214.281</div></div>.box{width: 300px;display: flex;}.first{background: red;width: 100px;flex-shrink: 1;}.second{background: yellow;width: 300px;flex-shrink: 2;}计算⽅法:需要收缩的空间:100+300-300=100每个⼦项⽬需要收缩的值:100n+300*2n=100; n=1/7first宽度:100-100*1/7=85.719second宽度:300-300*2*1/7 = 214.2812 实现⼀个div在不同分辨率下的⽔平垂直居中.box {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);border: 1px solid pink;width: 200px;height: 200px;}3 左右固定,中间⾃适应样式<style>.box {display: flex;height: 200px;}.left {flex: 0 0 200px;background-color: pink;}.center {flex: 1;background-color: yellow;}.right {flex: 0 0 200px;background-color: skyblue;}</style></head><body><div class="box"><div class="left"></div><div class="center"></div><div class="right"></div></div></body>4 清除浮动的⼏种⽅式://1. 在元素最后下加⼀个元素, 设置clear:both属性,缺点是会增加多余⽆⽤的html元素<div class="container"><div class="left">left浮动</div><div class="right">right浮动</div><div style="clear:both;"></div></div>//2. 使⽤after伪元素(给⽗元素添加after伪元素).container::after {content: ' ';display: block;clear: both;}//3. 给⽗级元素设置overflow:hidden, 缺点:不能和position配合使⽤5 box-sizing常⽤的属性有哪些?分别有什么作⽤?(1)content-box宽⾼是元素本⾝的宽⾼不包含border+padding(2)border-box元素的宽⾼已经包含了border+padding(3)inherit从⽗元素继承box-sizing属性6 CSS样式权重!important > 内联样式 > id选择 > (class选择 = 伪类选择) > (标签选择 = 伪元素选择)7 请简要描述margin重合问题,及解决⽅式问题:相邻两个盒⼦垂直⽅向上的margin会发⽣重叠,只会取⽐较⼤的margin解决:(1)设置padding代替margin(2)设置float(3)设置overflow(4)设置position:absolute 绝对定位(5)设置display: inline-block8 <meta></meta>标签的理解1、meta是html⽂档头部的⼀个标签,这个标签对⽤户不可见,是给搜索引擎看的。
CSS3面试题
CSS3⾯试题1.隐藏⽹页中的元素有⼏种⽅式?这些⽅法有什么区别?答案:三种⽅法.display:none;脱离⽂档流,不占页⾯空间,会改变页⾯布局。
visivility:hidden;不会脱离⽂档流,不会改变页⾯布局,仍占页⾯空间。
opacity:0;该元素隐藏起来了,但不会改变页⾯布局,并且,如果该元素已经绑定⼀些事件,如click事件,那么点击该区域,也能触发点击事件.2.如何解决⼦元素的上外边距溢出?答案:在⽗元素的第⼀个⼦元素位置处添加⼀个空的table标记.3.常⽤来设置透明度的⽅式有⼏种?他们之间有何区别?答案:opacity和rgbaopacity能设置与元素相关各种颜⾊的透明度rgba()只能设置当前某⼀种颜⾊的透明度.4.浮动会对⽗元素的⾼度带来什么影响?如何解决这个问题?答案:⼦元素⼀旦浮动,⽗元素的⾼度为0,在⽗元素最后⼀个⼦元素位置处添加⼀个空的块级元素,并设置其clear属性为both..clear:after{display:block;content:"",clear:both;}5.哪些元素默认有外边距?答案:body,p,h1-h6,ul,ol,dl,pre6.⽹页中如何定义锚点?如何连接到锚点位置?答案:a标记⽤name定义锚点,其他标记⽤id属性定义锚点.连接到锚点的位置:href="#锚点名称";7.框模型默认的计算⽅式是什么?要改变默认的计算⽅式⽤哪个属性及值?实际占地宽度=左右外边距+左右边框+左右内边距+width实际占地⾼度=上下外边距+上下边框+上下内边距+height改变计算⽅式: box-sizing:border-box8.实现时针转动效果需要⽤到CSS中哪些关键技术?答案:旋转,动画,,绝对定位9.设置⾏内元素居中对齐⽤什么属性?答案:text-aligin:center10.如果要将表单中控件的值提交给服务器必须为控件设置什么属性?答案:name和value属性11.transition和animation的区别?答案:Animation和transition⼤部分属性是相同的,他们都是随时间改变元素的属性值,他们的主要区别是transition需要触发⼀个事件才能改变属性,⽽animation不需要触发任何事件的情况下也会随着时间改变属性值,并且transition为2帧.从from.... to ,⽽animation可以以帧⼀帧的,也可以理解为⼀个animation是由多个transition组成.12.如何实现⽔平垂直居中?答案:1.定位+外边距盒⼦宽⾼已知,position:absolute;left:50%;top:50%;margin-left:-⾃⾝⼀半宽度;margin-top:-⾃⾝⼀半⾼度;2.定位+transform 盒⼦宽⾼已知,#container{position:relative;border:1px solid red;width:800px;height:600px;}#content{width:100px;height:100px;background:blue;position:absolute;top:50%;}3.flex布局⽗级:display:flex;align-items:center;/*垂直居中*/justify-content:center;/*⽔平居中*/居中布局-⽔平居中⾏内元素:text-aligin:center;块级元素:margin:0 auto;绝对定位已知宽度: position:absolute;margin-left:-(宽度的⼀半);left:50%;绝对定位+transform: postion:absolute;left:50%;transform:translateX(-50%);弹性布局⽔平居中: display:flex;justify-content:cneter;-垂直居中line-height:height;⾼度设置和盒⼦⼀样⾼绝对定位和transform: position:absolute;top:50%;transform:translateY(-50%);弹性布局垂直居中: display:flex;aligin-items:center;绝对定位已知⾼度:position:absolute;margin-top:-(⾼度的⼀半);top:50%;-⽔平垂直居中1.已知宽⾼100pxposition:absolute;top:50%;left:50%;margin-left:-50px;margin-top:-50px;2.弹性布局display:flex;justify-content:center;aligin-items:center;3.css3的transform属性position:absolute;top:50%;4.margin:auto;postion:absolute;top:0;left:0;right:0;bottom:0;margin:auto;13.盒⼦模型你是怎么理解的?答案:元素框处理元素内容,内边距外边距以及边框计算⽅式.盒⼦模型有两种,W3C和IE盒⼦模型(1)w3c的盒模型: width=content内容区域宽;不包括margin,padding,border(2)IE盒模型: width=content 内容宽度 + padding 宽度 + border 宽度(3)box-sizing border-box在已设定的宽度和⾼度之内去设定padding和border content-box在已设定的⾼度和宽度之外设置padding和border14.src和href的区别?答案:(1) href:href是Hypertext Reference的缩写,表⽰超⽂本引⽤。
前端面试实践题
前端面试实践题前端面试实践题可以涉及到HTML、CSS、JavaScript 等前端技术的知识,以及与常见前端框架和库相关的问题。
以下是一些可能的前端面试实践题:HTML 和CSS:响应式设计:创建一个简单的响应式网页,使其在不同屏幕尺寸下能够良好地适应。
Flexbox 和Grid 布局:使用Flexbox 或Grid 布局创建一个包含多个元素的页面,并使其具有良好的布局。
动画效果:使用CSS 或CSS 动画库(如Animate.css)创建一个简单的动画效果,例如淡入淡出、旋转等。
JavaScript:异步编程:使用Promise 或async/await 处理异步操作,例如从服务器获取数据,并在页面上显示。
事件处理:创建一个交互式页面,使用JavaScript 处理用户输入,例如点击按钮、输入框输入等。
DOM 操作:编写代码以更改页面上元素的内容、样式或结构。
常见框架和库:React 组件:创建一个简单的React 组件,展示组件的生命周期、状态管理或使用hooks。
Vue.js 响应性:使用Vue.js 创建一个具有响应性的数据绑定的小应用。
Angular 服务:使用Angular 创建一个服务,模拟从服务器获取数据并在组件中使用。
性能优化:网页性能优化:根据最佳实践优化一个网页的加载性能,可以包括减小文件大小、延迟加载等。
代码分割:使用代码分割技术,例如Webpack的动态导入,以提高应用的性能。
其他:版本控制:与Git 相关的问题,例如如何创建分支、合并分支、解决冲突等。
跨浏览器兼容性:如何解决跨浏览器兼容性问题,确保网站在不同浏览器中正常工作。
这些实践题涵盖了前端开发的多个方面,考察面试者对于实际问题的解决能力和对前端技术的熟练程度。
在实践中,可以根据具体的职位和公司需求调整题目的难易程度。
AS3面试题
AS3面试题1.请问你知道loader,URLLoader,URLStream这个三种动态加载资源的具体使用场合,以及有什么区别2.如何把MouseEvent 的localX 和localY 属性转化成全局坐标?3.请问condenseWhite 这个属性在TextInput里是表示什么意思?4.我想获取系统里的字体,请问怎么办?5.substring( ),substr( ), slice(),请说下3种解析字符串的不同之处,以及适用场合?6.FileReference 请说下此对象的几个相关事件7.as2与as3.的最主要区别是什么?8.as3.0垃圾回收器是如何工作的9.flex和后台语言是如何交互的?10.请说下你理解AS3的事件机制是什么机制?你认为正确的就可以说出来?11.请问a ddEventListener里面有几个参数,你能说出具体的使用方法?12.请问undefined 和null 是否一样,如果不一样能否说出其中的区别呢?13.有三种基本数字类型:number, int, 和uint 请问有什么区别.具体说一下.14.请问一个数组里可以放不同的类型嘛?1、请问你知道loader,URLLoader,URLStream这个三种动态加载资源的具体使用场合,以及有什么区别嘛?答案(1) LoaderLoader 类可用于加载SWF 文件或图像(JPG、PNG 或GIF)文件。
使用load() 方法来启动加载。
被加载的显示对象将作为Loader 对象的子级添加。
(2) URLLoaderURLLoader 类以文本、二进制数据或URL 编码变量的形式从URL 下载数据。
在下载文本文件、XML 或其它用于动态数据驱动应用程序的信息时,它很有用。
URLLoader 对象会先从URL 中下载所有数据,然后才将数据用于ActionScript。
它会发出有关下载进度的通知,通过bytesLoaded 和bytesT otal 属性以及已调度的事件,可以监视下载进度。
Flex技术面试题
Fl ex技术培训试题(总分:50分)
1.Flex与Flash有哪些区别?(10分)
2.Flex产品框架有哪几部分组成?(10分)
3.Flex组件分为哪几种类型?(10分)
4.列举Flex与服务器通信的三种方式?(10分)
5.什么是AMF?(5分)
6.PureMVC框架的目标很明确,即把程序分为低耦合的三层:________、
________和________。
(3分)
7.PureMVC中还有另外一个单例模式类________,它提供了与核心层通信的唯
一接口,以简化开发复杂度。
(2分)
Fl ex技术培训试题---答案
1. 答:相同点:1)最终都可以生成swf 文件;2)都必须通过flashplayer解释运行;3)具有相同的内置脚本语言ActionScript3.0;
不同点:1)产品市场定位不同,flash侧重于动画等多媒体应用方面,flex是一种RIA的解决方案,针对企业级的网络应用;2)另外开发人员定性不同,flash的开发人员以设计者居多,flex以开发者居多。
2. 答:MXML界面描述语言,ActionScript
3.0脚本语言,组件类库,Flex编译器。
3. 答:1)可视化组件;2)非可视化组件;3)容器组件;4)非容器组件;5)打印组件;6)行为和效果组件。
4. 答:HTTP方式、WebService方式、Remoting方式。
5. 答:AMF(Action Message Format)一种二进制数据协议规范,用于Flex与服务器间的数据传输。
6. 答:Model、View和Controller。
7. 答:Façade。
FLEX面试
Type Question A(单)1以下哪项技术不是RIA开发技术?( )Flex(单)1以下哪项不是flex的技术特点?( )增强用户体验(单)1“富互联网应用程序”的英文缩写为AIR(单)2以下说法错误的是( )使用包,可以通过有利于共享代码并尽可能减少命名冲突的方式将多个类定义捆绑在一起(单)1以下哪种数据类型不属于“基元数据类型”?( )int(单)1以下哪种数据类型为“基元数据类型”?( )Object(单)1登录界面的密码输入框应该使用哪个控件?( )Label(单)1登录界面的是否记住密码功能应该使用哪个控件?( )Button(单)1以下组件中,不能在设计界面进行可视化设计的是?( )Button(单)1为对象添加事件侦听器应使用那个函数?( )addEventListener(单)1为对象删除事件侦听器应使用那个函数?( )addEventListener(单)2ActionScript 3.0中,事件侦听类型是一个( )函数(单)1以下哪个方式不能实现字符串连接?( )+(单)1使用什么方法将字符串根据分隔符创建子字符串数组?( )split(单)1以下哪种方法不能在Array对象中加入元素?( )push(单)1以下哪个关键字表示被修饰的成员只能在同一类及派生类中的引用可见?( )internal(单)1实例方法指的是不使用( )关键字声明的方法。
public(单)1ActionScript 中,子类里面引用父类,使用以下哪个关键字?(base(单)3如果需要更新自定义控件的布局或者在屏幕上实现重画,需要调用UIComponent的哪个方法?( )validateNow()(多)3在AIR程序中,下面File类的哪两个方法可以不设置监听器?( )copyTo()(单)1下面哪一个不是Flex用来做remoting的控件?( )WebService(单)1下面哪个Flex容器总是使用绝对布局?( )Application(单)2下面哪个容器是VBox包含了以行排列的HBox?( )Title(单)2需要添加什么代码在sendMessage()中来发送消息到目标对象?()private function createProducer():void{producer = new Producer();producer.destination = "chat";producer.addEventListener(MessageAckEvent.ACKNOWLEDGE,acknowledgeHandler);producer.addEventListener(MessageFaultEvent.FAULT,faultHandler);}private function sendMessage():void{var msg:AsyncMessage = new AsyncMessage();msg.body = "My Message";//在这里添加代码producer.sendMessage(msg);(单)1当从一个自定义的控件发送一个自定义事件的时候需要完成下面哪一步?( )创建一个继承了flash.events.Event类的子类(多)2下面哪两个是[Event]metadata标签的必需参数?( )name = "eventname"(单)1通过下列RadioButton的哪一个属性可以表示出这个RadioButton的RadioButtonGroup的名字。
前端flex填空题
前端flex填空题当谈到前端中的flex时,通常指的是CSS的Flexbox布局模型。
Flexbox是一个一维的布局模型,它可以处理元素在容器中的分布、对齐和顺序,即使它们的大小是未知的或者动态的。
以下是一些关于Flexbox的填空题及其简述:Flex容器的默认主轴是____。
答案:水平轴(或行轴)。
简述:Flex容器默认的主轴是水平的,这意味着子元素默认从左到右排列(在LTR文本方向中)。
要使Flex子项垂直居中,我们可以设置____属性。
答案:align-items: center;(在Flex容器上)简述:align-items属性控制Flex子项在交叉轴(垂直于主轴)上的对齐方式。
设置为center可以使它们垂直居中。
Flex子项的默认排列方式是____。
答案:从主轴的起点开始排列。
简述:除非另有指定,否则Flex子项将从主轴的起点(默认为左端)开始排列。
____属性可以控制Flex子项在主轴上的排列顺序。
答案:order简述:order属性允许我们改变Flex子项的默认排列顺序。
默认值为0,可以为正数或负数。
要使Flex子项在主轴上平均分布,我们可以使用____属性。
答案:justify-content: space-between; 或justify-content: space-around; 或justify-content: space-evenly;(取决于所需的具体分布效果)简述:justify-content属性控制Flex子项在主轴上的分布方式。
space-between会在子项之间放置等量的空间,但首尾没有空间;space-around会在子项两侧放置等量的空间,导致子项之间的空间是子项与容器边界空间的两倍;space-evenly则确保子项之间以及子项与容器边界之间的空间都是相等的。
Flex容器的____属性决定了其子项是否可以换行。
答案:flex-wrap简述:flex-wrap属性控制当Flex子项超出容器主轴空间时是否应换行。
flex面试题
flex面试题Flex是一种基于CSS3的布局技术,可以帮助开发者创建灵活的网页布局。
在使用Flex进行开发时,我们需要掌握一定的知识和技巧。
接下来,我将为大家介绍一些常见的Flex面试题。
一、什么是Flex布局?Flex布局(Flexible Box Layout)是一种用于页面布局的模型,通过设置弹性容器和弹性项目的属性,实现页面元素的自适应和灵活排列。
通过使用Flex布局,我们可以很方便地控制元素在容器中的位置、大小和顺序。
二、Flex布局的基本原理是什么?Flex布局通过将容器分为主轴和交叉轴,并通过设置容器和项目的属性来进行布局:1. 容器属性:- display: flex;:将容器设置为Flex布局。
- flex-direction:设置项目在主轴上的排列方式为水平(row),垂直(column)或反向。
- justify-content:定义项目在主轴上的对齐方式。
- align-items:定义项目在交叉轴上的对齐方式。
- flex-wrap:定义项目是否换行。
2. 项目属性:- flex:设置项目的放大比例。
- order:设置项目的排列顺序。
- align-self:定义项目在交叉轴上的对齐方式,覆盖容器的align-items属性。
三、请解释Flex容器和Flex项目的概念。
- Flex容器:通过设置display为flex或inline-flex的元素称为Flex 容器。
它的子元素即为Flex项目,可以通过设置容器的属性来控制项目的布局方式。
- Flex项目:Flex容器的直接子元素被称为Flex项目。
每个项目都具有自己的属性,包括放大比例、排列顺序和对齐方式等。
四、请解释Flex布局的主轴和交叉轴。
- 主轴(Main Axis):确定Flex项目在容器内的排布方向。
主轴的方向可以通过设置flex-direction属性为row(水平方向)或column (垂直方向)来指定。
前端或移动开发岗位招聘面试题与参考回答(某大型集团公司)
招聘前端或移动开发岗位面试题与参考回答(某大型集团公司)(答案在后面)面试问答题(总共10个问题)第一题题目描述:作为前端开发岗位的候选人,请描述一下你对前端性能优化的理解。
列举至少三种常见的前端性能优化方法,并简要说明每种方法的作用。
第二题题目:请描述一下你所了解的React框架中的虚拟DOM(Virtual DOM)的概念及其优势。
第三题题目:请详细描述一下您在以往项目中使用过的前端框架或库,并说明您选择该框架或库的原因。
同时,请举例说明您如何解决过该框架或库在项目中遇到的问题。
第四题题目:请描述一次你在项目中遇到的技术难题,以及你是如何解决这个问题的。
第五题题目:请描述一次你遇到的前端性能优化问题,包括问题背景、你采取的解决方案以及优化后的效果。
第六题题目描述:请您谈谈在前端开发中,如何处理页面性能优化的问题?请结合实际案例,说明您是如何分析和解决性能瓶颈的。
第七题题目:请描述一下你对响应式设计的理解,并举例说明你如何在实际项目中应用响应式设计来解决布局问题。
第八题题目:请描述一下你对于前端性能优化的理解,并列举至少五种常见的前端性能优化策略。
第九题题目:请描述一下你对前端性能优化的理解,并举例说明你在实际项目中是如何进行前端性能优化的。
第十题题目描述:请详细描述一下您在以往项目中如何处理前端性能优化的问题。
举例说明您针对不同性能问题采取的具体措施,以及这些措施带来的效果。
招聘前端或移动开发岗位面试题与参考回答(某大型集团公司)面试问答题(总共10个问题)第一题题目描述:作为前端开发岗位的候选人,请描述一下你对前端性能优化的理解。
列举至少三种常见的前端性能优化方法,并简要说明每种方法的作用。
参考回答:1.缓存机制:•作用:通过缓存可以减少服务器请求的次数,提高页面加载速度。
•具体方法:可以使用浏览器缓存(如HTTP缓存)、本地存储(如localStorage、sessionStorage)、服务端渲染缓存等技术来实现。
flex面试题
Flex面试题一、问答题1. 如何去掉容器内的滚动条?2. flex都有哪些容器,说说他们的区别及父子关系,列举3个以上?3. 接触过flex哪些开源组件,列举一下?4. flex应用体积过大,下载到客户端效率低下,有什么解决方案?5.flex常用的数据交互有哪些?6.flex如何调用js方法?二、填空题1.数据类型运算Var a:Number;Var b:Number=10;Var c:Number = a+b;Var d:Number = b-a;Var e:Number = a*b;Var f:int = b-a;Var h:uint=b+a;trace(c); ____________________trace(d); ____________________trace(e); ____________________trace(f); ____________________trace(h); ____________________2.在Flex中调用Flash对象的示例填空.Flex ---------------------------------------<SCript>Var mc:_________private function init():void{mc=flashContent.content as ________;mc.setApp(this);}</SCript><SWFLoader id="flashContent"source="XXX.SWF"creationComplete="init()"/>--------------------------------------------Flash --------------------------------------var flexApp:________function setApp(app:______):void{this.flexApp = app;}三、上机题上机编写一个应用程序,界面效果是上方有个标题栏,下方左面是一棵树,右侧是显示区域。
前端开发面试题及答案
前端开发面试题及答案前端开发是一个快速发展的领域,拥有强大的需求和竞争。
面试是进入前端开发领域的一道关卡,面试题目通常涵盖了HTML、CSS、JavaScript等方面的知识。
在这篇文章中,我们将介绍一些常见的前端开发面试题以及相应的答案。
一、HTML 面试题及答案1. 什么是 HTML?HTML是超文本标记语言(Hypertext Markup Language)的缩写,是一种用于创建网页的标记语言。
2. 请解释HTML5中的新特性?HTML5引入了许多新的特性,包括语义化标签、画布(canvas)、音视频支持等。
语义化标签可以更好地描述文档结构,增强搜索引擎对网页的理解。
画布可以用于绘制图形和动画。
音视频支持使得在网页中嵌入音视频内容更加方便。
3. 请解释 HTML 和 XHTML 有何区别?HTML是一种自由度较高的标记语言,而XHTML是HTML与XML的结合。
XHTML对标记要求更严格,要求标签闭合、标签小写等。
同时,XHTML的文档结果要求更加严格。
二、CSS 面试题及答案1. 什么是 CSS?CSS是层叠样式表(Cascading Style Sheets)的缩写,用于描述网页的布局和样式。
2. 请解释什么是盒子模型(Box Model)?盒子模型是CSS中用于描述元素布局的模型。
它将元素看做一个矩形的盒子,包括内容、内边距、边框和外边距这四个部分。
3. 如何居中一个元素?可以使用多种方法居中一个元素,其中一种是使用flexbox布局,设置父元素的display属性为flex,然后使用align-items和justify-content属性来居中元素。
三、JavaScript 面试题及答案1. 什么是 JavaScript?JavaScript是一种用于使网页交互和动态的脚本语言。
2. 请解释什么是变量提升(Hoisting)?变量提升是JavaScript在编译阶段将变量声明提升至作用域顶部的行为。
Flex面试题及答案
1.我不想在容器里显示滚动条怎么办?答:指定horizontalScrollPolicy和verticalScrollPolicy为off2.请问Flex bulider3可以创建几种不同的项目?答:三种。
Flex Project、AS Project 和Flex Library Project。
3.你了解RSL嘛?请说明下RSL的使用方法,以及使用RSL为了解决什么问题?答:RSL(Runtime shared libraries)即动态链接库,在程序运行时由FlashPlayer动态加载。
静态链接库是SWC文件,通过编译器的library-path和include-libraries编译进应用程序。
采用静态链接的应用程序SWF 会产生比较大的文件以及更长的下载时间。
使用RSL的应用程序载入时间短且文件比较小,而且提高了内存使用效率,只是在开始需要花点时间下载RSL。
RSL的强大体现在多个应用程序共享公共代码时,因为RSL只需要被下载一次,多个应用程序动态链接到相同的RSL,访问其中已经缓存在客户端的资源。
使用RSL:(1).在项目文件夹中点右建,选择"properties"-"Flex Build Path"-"Library Path"(2).该选项卡上我们看到"FrameWork linkage",默认是"Merged into cdoe"(FLEX4默认是RSL)(3).点开下拉,选择"runtime shared library(RSL)"(4).针对自定义的SWC,修改其link type为RSL,选择None,同时勾上Automatically extract swf to deployment path(自动将SWF提取到部署路径)。
如果想对不同域的RSL共享,则选择Digests(摘要),同时指定其Policy file url(策略文件)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.as2与as3.的最主要区别是什么?答:首先,as2和as3是完全不同的语言,几乎没有兼容性可言。
as2编译用的AVM1虚拟机,as3用的AVM2,速度快,提供了一些基础异常处理。
as3是纯的OOP,强类型语言。
as2不是。
具体的差别有太多太多。
2.flex的开发框架有哪些,它们有什么优缺点?答:最常见的当然是Cairngorm、Puremvc了,此外还有Mate,Swiz等等,据说被广泛应用的已经有10几款了。
Cairngorm作为Adobe官方出品,有着贵族血统的它比较全面,是这些框架中已知bug最少的,但是基于他的应用相对臃肿复杂一些,需要对每个可以被触发的事件写一个对应的Command,编码量巨大,并且单元测试很不容易,不适合敏捷开发。
Puremvc应该是现在用的最多的as 框架了。
比较完善、并且与Cairngorm相比,更适合中小型应用的开发,它与Cairngorm一样,也是以MVC模式为中心,并以Façade作为中央存储器的单件类的形式进行开发的。
说下Mate,它是一个比较奇怪的框架,是基于标签的事件驱动型的。
也就是说你不能再随意的写as类的,在使用Mate的情况下,只能用MXML来做这些事情。
Swiz是Mate的孪生兄弟,长的挺像,没具体用过,不大了解。
3.在flex开发中,很多代码都写在mxml文件里,为了做到mvc模式,你是怎么处理的。
我认为mxml并不影响mvc模式啊。
分两种情况来讨论,首先,是自己创建整个应用结构的时候,那我们可以手动将UI所在的mxml归为一类,然后由Mediator去操作或者说控制这些组件既可了,然后Mediator又统一交给Controller去操作。
如果采用其他框架来进行开发的话,那就更不用来考虑这个问题了,像Cairngorm、Puremvc之类的框架已经很好的为我们解决了这些问题。
只要按照它们的使用规范来进行开发,自然没有问题。
4.如果发生内存泄露,你是如何解决的?在profile观察中已经内存泄漏是没有很好的解决办法的,至少我不知道,我能做的只是尽量去避免这种情况的发生,比如说注意不要循环引用,特别是在使用Timer的时候要格外注意,不要忘记全局对象上的引用的清除,在创建控制器和模型的时候要注意一定要使用单件模式。
在addEventListener时候尽量采用弱引用、自引用、或者子对象引用,以避免内存泄漏。
5。
as3.0垃圾回收器是如何工作的?flash player 8之前采用的是引用计数法,在flash player 8 之后用的是标记法,简单的说就是:从应用的根节点开始,遍历所有其上的引用,标记每个它所发现的对象。
然后迭代遍历每个被标记的对象,标记它们的子对象。
这个过程第归进行,直到Player遍历了应用的整个对象树并标记了它所发现的每个东西。
在这个过程技术的时候,可以安全地认为,内存中那些没有被打标记的对象没有任何活动引用,因此可以被安全地释放内存。
一般来说,flash player采用的是一种低频的垃圾回收机制,Flash Player的垃圾回收发生在Flash Player需要另外请求内存之前。
但并不是每次应用申请内存时都会导致垃圾回收的执行,只有当Flash占用的内存紧张到一定程度时才会执行真正的垃圾回收,一定程度上取决于客户端计算机的物理内存的大小。
6 flex和后台语言是如何交互的?无疑就这两种方法:remote object 或者是Http service7。
你是如何处理前端速度慢的问题?flex前端速度慢其实仔细说应该分2部分,1.是flex生成的swf由于SDK 庞大的关系,swf体积也跟着庞大了,这我们可以做的就是用Module动态加载,还有就是RSL了。
2.处理速度慢,远程方法速度慢,这是AVM的硬伤了,基本没有很好的解决方法,我们能做的只是让这个异步进行的更完美一些,让用户在等待的过程中,做其他的事情,以至于让用户忽略这段等待的时间。
8.flash与flex是如何协调开发的?这个问题可以这样来理解,如果是确实需要用到FLEX SDK的应用,那我们就可以建立一个flex工程,具体需要flash做UI的时候,输出成swc作为flex 的skin,如果说并不需要flex sdk,只是为了编码方便而选择flex的话,那我们只要建立一个as工程,让flex作为flash的编码器。
9.使用Flex Bulider3建立一下新的.mxml的页面时默认的背景是蓝色的,请问用什么办法能修改掉此背景颜色,以至于下次创建时背景不是为默认的蓝色的呢?请写出你认为正确的方法.还真不会,我的做法一般是在这个工程里面,建一个总的css,都在里面规范起来,包括背景色啊,还有字体大小等等。
10.使用Flex Bulider3如何跟踪程序?装个debug版本的flash player,到时候在FB里面F11 debug它咯。
11. 请问enterFrame和timerEvent这2个事件有什么区别?请说下具体的使用方法和相关的使用场合?不会我觉得差不多,不过我一般用enterFrame,还请高人指点。
12. 请说下你理解AS3的事件机制是什么机制?你认为正确的就可以说出来.AS3事件流分三个阶段:1.捕获阶段 (即由根节点流向子节点,检测每个节点是否注册了监听器)2.目标阶段 (激发在目标对象本身注册的监听程序)3.冒泡阶段 (从目标节点到根节点,检测每个节点是否注册了监听器)当中涉及了两个属性target和currentTarget,target是事件的派发者,currentTarget是正在检测的对象,当开始了事件流,事件的currentTarget 属性处于不断变化中.PS:注册事件时捕获阶段默认是关闭的,无论事件是否开启了捕获,事件流只会两选一去执行注册的监听程序关于EventDispatcher三个函数的参数:1.addEventlistener(事件类型,监听函数,是否打开捕获阶段,监听器优先级别,是否打开弱监听)2.removeEventListener(事件类型,监听函数,是否打开捕获阶段) (前两个参数是必须的,如果注册监听器时打开了捕获阶段,那么第三个参数也是必须的,否则会出现错误)3.dispatchEvent(new Event(事件类型,是否冒泡,是否可以取消事件))关于Event扩展有两点要注意:1.可以定义字符串常量代表事件类型.2.构造函数必须调用父类的构造函数,super(type,bubbles,cancelable)3.扩展Event可以使Event带自定义变量,从而可以传递数据.13.请问addEventListener里面有几个参数,你能说出具体的使用方法嘛?这题出的有点像考API记忆力呵呵,它的五个参数分别是addEventlistener(事件类型,监听函数,是否打开捕获阶段,监听器优先级别,是否打开弱监听)具体使用方法:详见手册,这里我copy来了。
addEventListener () 方法public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void语言版本 : ActionScript 3.0RuntimeVersions: AIR 1.0, Flash Player 9使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
可以为特定类型的事件、阶段和优先级在显示列表的所有节点上注册事件侦听器。
成功注册一个事件侦听器后,无法通过额外调用addEventListener()来更改其优先级。
要更改侦听器的优先级,必须首先调用removeListener()。
然后,可以使用新的优先级再次注册该侦听器。
请记住,注册该侦听器后,如果继续调用具有不同type或useCapture值的addEventListener(),则会创建单独的侦听器注册。
例如,如果首先注册useCapture设置为true的侦听器,则该侦听器只在捕获阶段进行侦听。
如果使用同一个侦听器对象再次调用addEventListener(),并将useCapture设置为false,那么便会拥有两个单独的侦听器:一个在捕获阶段进行侦听,另一个在目标和冒泡阶段进行侦听。
不能只为目标阶段或冒泡阶段注册事件侦听器。
这些阶段在注册期间是成对出现的,因为冒泡阶段只适用于目标节点的始祖。
如果不再需要某个事件侦听器,可调用removeEventListener()删除它,否则会产生内存问题。
由于垃圾回收器不会删除仍包含引用的对象,因此不会从内存中自动删除使用已注册事件侦听器的对象。
复制 EventDispatcher 实例时并不复制其中附加的事件侦听器。
(如果新近创建的节点需要一个事件侦听器,必须在创建该节点后附加该侦听器。
)但是,如果移动 EventDispatcher 实例,则其中附加的事件侦听器也会随之移动。
如果在正在处理事件的节点上注册事件侦听器,则不会在当前阶段触发事件侦听器,但会在事件流的稍后阶段触发,如冒泡阶段。
如果从正在处理事件的节点中删除事件侦听器,则该事件侦听器仍由当前操作触发。
删除事件侦听器后,决不会再次调用该事件侦听器(除非再次注册以备将来处理)。
参数type:String—事件的类型。
listener:Function—处理事件的侦听器函数。
此函数必须接受 Event 对象作为其唯一的参数,并且不能返回任何结果,如下面的示例所示:function(evt:Event):void函数可以有任何名称。
useCapture:Boolean (default = false) —确定侦听器是运行于捕获阶段、目标阶段还是冒泡阶段。
如果将useCapture设置为true,则侦听器只在捕获阶段处理事件,而不在目标或冒泡阶段处理事件。
如果useCapture为false,则侦听器只在目标或冒泡阶段处理事件。
要在所有三个阶段都侦听事件,请调用addEventListener两次:一次将useCapture设置为true,一次将useCapture设置为false.priority:int (default = 0) —事件侦听器的优先级。
优先级由一个带符号的 32 位整数指定。
数字越大,优先级越高。
优先级为n的所有侦听器会在优先级为n -1 的侦听器之前得到处理。
如果两个或更多个侦听器共享相同的优先级,则按照它们的添加顺序进行处理。