现在as3面试 感觉就那几个题目来回考。
有了题库,大家都看了 都答上来了 题目本身也就失去了考核的意义。
而且题目本身也有很多偏的(不常用的)在考。

真正的面试官现在肯定也不会把笔试成绩当作标准。
所谓:行家一出手 就知有没有。多聊聊技术环节便可鉴定。

=========================================

Null NaN undefined的区别
string array object的默认值是Null
Number 默认值是NaN

NaN 值是 Number 数据类型的特殊成员,用来表示“非数字”值。
未定义类型的 :undefined

  示例:   var s:String;
        trace(s);//null 未赋值的String类型的默认值null
      var n:Number;
      trace(n);//NaN Number类型默认值NaN
      var h;
      trace(h);//未定义类型 undefined
isNaN(n:Number=null):Boolean

如果该值为 NaN(非数字),则返回 trueisNaN() 函数可用于检查一个数学表达式是否成功地计算为一个数字。
var s:String="a";
trace(isNaN(Number(s)));//是非数字 值。返回true

NaN==NaN  false;
NaN!=NaN   true;
      

      

获取一个点的全局坐标,点所属于的Displayobject为dis
var gP:Point=dis.parent.localToGlobal(new Point(dis.x,dis.y));
获取一个DisplayObject的localX 和 localY转换成全局坐标
var gP:Point=dis.parent.localToGlobal(new Point(dis.x+e.localX,dis.y+e.localY));

总结:求点P的全局坐标。那么就是 p所属的DisplayObject的parent来转化

String的slice(start,end);
           substring(start,end);
           substr(start,len)

三者都是获取子串的功能。都不会影响原始字符串。

slice(start,end);//可以简单理解为从start处 到end 砍下来。下刀处在end那 end被砍坏了。所以只留下start 到end前面的
                      必须start要小于end的位置 否则返回空白
         start end 都可以为负数
substring(start,end);//和slice相似。但它会自动的把参数大的 给end 参数小的给start
              start 和 end都不能为负数。否则会当作0
如果start<end那么slice和substring是没有任何区别的

var str:String="0123456789";
trace(str.subString(1,6));//
trace(str.subString(6,1));//

另:最后一个字符的索引也可以是-1 。倒数第二个则是-2。start 不可以为负数

in 是用来判断 数组里含有 某个索引 或者Object Dictionary含有某个键。不是含有某个值

var ary:Array=["1","2","5","4"];
trace("3" in ary);//true
trace(3 in ary);//true
trace("5" in ary);//true
trace(5 in ary);//true

var obj:Object={3:333,name:"kkkk"};
trace("name" in obj);
trace(3 in obj);
trace("3" in obj);
以上示例说明 in 在判断的时候 会自动的把 参数转换成需要的类型。
XX in Array 则 XX会转为int 
XX in Object则XX会转为string

breakcontinue(他们行下面的代码被忽略)
break直接中断结束整个for循环
continue只跳过当前一次循环。

数组的浅复制深复制

var ary:Array=[1,"abc",{name:"dd",age:33}];
var copy:Array=ary.slice();
copy[0]=2;
copy[1]="newabc";
copy[2].name="newName";
trace(ary[0],ary[1],ary[2].name,ary[2].age);
trace(copy[0],copy[1],copy[2].name,copy[2].age);

上述是数组浅复制。数组通过slice()或contact()不传入任何参数。则返回数组的浅复制。
浅复制:对于数组的值类型对象直接复制到新数组里,对于引用则共同引用。
即当副本修改的是负责数据类型后,原数组的复杂类型数据也会相应变化。
但简单类型各自维护。
对于数组里的元素都是值类型对象则不区分浅复制和深复制。

深复制:其所有的元素都会得到真正的复制,此时数组存储的是不同的引用。
实现要通过ByteArray

            var ary:Array=[1,"abc",{name:"dd",age:33}];
var byteAry:ByteArray=new ByteArray();
byteAry.writeObject(ary);
byteAry.position=0;
var newAry:Array=byteAry.readObject() as Array;
newAry[0]=2;
newAry[1]="def";
newAry[2].name="newABC";
newAry[2].age=44;
trace(ary[0],ary[1],ary[2].name,ary[2].age);
trace(newAry[0],newAry[1],newAry[2].name,newAry[2].age);

内存泄漏
http://blog.sina.com.cn/s/blog_63f4be9b01012hsc.html

AS3面试题 个人理解的更多相关文章

  1. 从一道看似简单的面试题重新理解JS执行机制与定时器

     壹 ❀ 引 最近在看前端进阶的系列专栏,碰巧看到了几篇关于JS事件执行机制的面试文章,因为我在之前一篇 JS执行机制详解,定时器时间间隔的真正含义 博文中也有记录JS执行机制,所以正好用于作为测试自 ...

  2. js 从两道面试题加深理解闭包与箭头函数中的this

     壹 ❀ 引 在本文之前我已经花了两个篇幅专门介绍了JavaScript中的闭包与this,正好今早地铁上看到了两道面试题,试着做了下发现挺有意思,所以想单独写一篇文章来记录解析过程.若你对于闭包与t ...

  3. 【C#基础知识】静态构造函数,来源于一道面试题的理解

    看到园友的一道面试题,很好奇,测试了一下结果. public class A { public static int X=B.Y ; public A() { ++X; } } public clas ...

  4. spring cloud 常见面试题 来理解微服

    为什么要谈 这些理论知识呢   理论知识 = 面试时候的谈资 !!!   你只有 进去公司 才有资格 去做一个码农 ok 话不多说   经历如此漫长的互联网发展  以本人的拙见 软件开发 粗略的 分为 ...

  5. 面试题:彻底理解ThreadLocal 索引的利弊 背1

    .索引利弊   --整理 1.索引的好处 a.提高数据检索的效率,降低检索过程中必须要读取得数据量,降低数据库IO成本. b.降低数据库的排序成本.因为索引就是对字段数据进行排序后存储的,如果待排序的 ...

  6. 再理解 as3.0接口

    As3.0 接口的理解与运用 1.把接口当作"类"来理解.你easy接受她. 我们看她的标准结构: package 包路径{ public interface 接口名称{ func ...

  7. 大公司的PHP面试题

    1. 禁用COOKIE 后 SEESION 还能用吗? 2. 抓取远程图片到本地,你会用什么函数? 4. 你觉得在pV10W的时候, 同等配置下,LUNIX 比WIN快多少? 5. 简述pOST 和G ...

  8. 高级iOS面试题

    非标准答案 2 1: 类方法是可以直接通过类名直接调用,无需进行实例化对象.类方法是以+开头2. 实例方法,需要显示实例化对象,为对象分配堆栈空间,并通过对象实例调用实例方法3. RUNTIME 是在 ...

  9. 剑指offer--面试题14

    #include "stdafx.h" #include <iostream> using namespace std; //调整数组顺序使奇数位于偶数前 void O ...

随机推荐

  1. Android强制横屏+全屏的几种常用方法

    全屏: 在Activity的onCreate方法中的setContentView(myview)调用之前添加下面代码 1 requestWindowFeature(Window.FEATURE_NO_ ...

  2. Unity 3D第三人称视角、用途广泛限定角度(视角不能360度翻转)

    Unity第三人称相机视角控制 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分 ...

  3. 2018.10.25 CCSP马拉松摸铜归来

    24号体测跑50+1000米. 50米抢跑被罚重跑???然后老年人就只能吊着一口仙气跑第二次50米.然后跑1000米,然后再到宿舍收拾行李赶往地铁站,然后再冲到火车站...(卒) 宾馆,三人挤入二人房 ...

  4. (18)模型层 -ORM之msql 多表操作(字段的属性)

    数据库表的对应关系 1.一对一   #关联字段写在那张表都可以 PS:只要写OneToOneField就会自动加一个id 2.一对多  #关系确立,关联字段写在多的一方 3.多对多   #多对多的关系 ...

  5. Python的方法和语法解释

    ---------------------------------------------------------------------------------------------------- ...

  6. [Wannafly挑战赛28][B msc和mcc][预处理+枚举]

    链接:https://ac.nowcoder.com/acm/contest/217/B来源:牛客网 msc和mcc 题目描述 msc和mcc是一对好朋友,有一天他们得到了一个长度为n的字符串s. 这 ...

  7. hdu1686 Oulipo KMP/AC自动机

    The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e ...

  8. 【java编程】String拼接效率探究

    转载:https://maimai.cn/article/detail?fid=1139790318&efid=0-ey6pWIySdmkx82QO-OSw 字符串,是Java中最常用的一个数 ...

  9. LA3641 Leonardo's Notebook

    题意 PDF 分析 给出一个26个大写字母的置换B,是否存在A^2 = B 每个置换可以看做若干个循环的乘积.我们可以把这些循环看成中UVa 10294的项链, 循环中的数就相当于项链中的珠子. A^ ...

  10. CH4701 天使玩偶

    题意 4701 天使玩偶 0x40「数据结构进阶」例题 描述 题目PDF 样例输入 2 3 1 1 2 3 2 1 2 1 3 3 2 4 2 样例输出 1 2 来源 石家庄二中Violet 3杯省选 ...