- 博客(306)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注

原创 AS高手们的博客
1. 董龙飞 http://www.donglongfei.com2. 李学锟 http://blog.youkuaiyun.com/lixuekun820/article/month/2010/053. http://blog.youkuaiyun.com/sysu_2010?viewmode=contents4. http://www.riaidea.co
2012-01-26 21:52:05
977
原创 js面向对象设计规则
1. 单利模式的对象不要定义原型函数,定义成员函数即可(this.func1) 由于实例化结果只会有一个实例,因此定义原型函数没有优点。相反,原型函数之间无法共享变量(共有成员变量除外)是它的明显缺陷。2. 不会被大量实例化的对象,需要权衡是否要定义原型函数。建议同上述1。 理由同上
2017-09-13 15:31:32
496
原创 js 单例模式下,无需定义原型函数,在构造器中定义公有,私有成员更便利
在构造器中定义成员变量,函数的好处:能够定义私有成员函数,变量: var 变量名 ; 不加this的 function所有成员函数都能够访问构造器中的var变量。
2017-09-12 11:56:27
393
原创 js面向对象程序设计的最佳实践: 无成法,因地制宜
js语法宽泛,实现同一目的可以有很多结构设计。每一种设计都有其特点。没有一成不变的且能够满足任意场合的“最佳实践”。因地制宜地采用最恰当的设计是js开发者要领悟的要点。在Canvas图表结构设计过程中,就要遵循上述思想。忌讳贪大求全,忌讳造“银弹”
2017-09-12 10:39:34
545
原创 js 面向对象编程 陷阱2
观察如下代码: function A() { A.prototype.get = function () { return 1 ; } } //步骤一: 先生成一个A的实例,检验其原型函数
2017-09-09 18:13:45
298
原创 js 面向对象编程 陷阱1
如下代码:期待结果: 输出 1,2实际结果: 输出 2,2 function A(par) { var i = par ; A.prototype.getI = function () { return i ; } } function B() {
2017-09-09 17:11:20
322
转载 js中取得不同精度的时间,时间戳,时间差的方法
http://blog.youkuaiyun.com/kingviker/article/details/7951106http://jimliu.net/2014/03/16/hrt-in-js/http://web.jobbole.com/83705/https://yq.aliyun.com/ziliao/106356https://www.z01.com/item/2702
2017-09-08 09:38:50
2121
原创 js面向对象编程命名规则
公有属性(变量),公有方法: 名称必有有明确含义,不怕长,但尽量控制其长度私有属性(变量): 名称要短小,尽量使用缩写。必须有明确的注释文字。 *理由: 1. 内部使用,通过注释能够方便的得知其含义和用途,因此无需啰嗦
2017-08-26 10:50:00
951
原创 html / js 代码编写注意事项收集
1. Script标签关闭的写法 要显式地关闭标签,不能简略写。原因是部分浏览器不支持这种简写。 正确 : 错误 : 2. 引入外部脚本的Script标签中不能写任何脚本 Script标签中的代码不被执行。 正确 : 错误 :
2017-06-27 14:27:08
426
原创 不使用ES6 语法糖
ES6中增加了Class、module等概念。其本质是语法糖。用BABEL可将符合ES6语法的代码转换为ES5代码。ES6的Class中,并没有Public,Private等面向对象语言需要的语法。这种“半调子”状态不利于编程。JS面向对象的“原型继承”和其他纯粹面型对象的“类继承”从根本上就是不同的理念。ES6中不完全地引入Class语法,更容易造成混乱。
2017-06-22 17:33:57
1169
原创 TextLine 与 buttonMode
执行下面代码,你会发现当鼠标移入TextLine区域时,光标变成手型。这与预期相反。怀疑这是AS的Bug。当把 s.mouseChildren=false; 有效后,光标不再变成手型。package { import flash.display.Sprite; import flash.text.engine.ElementFormat; import flash.text.en
2016-12-26 13:41:45
1056
原创 图表分类
>>概念1. 等间隔图(类目图) 序列在某方向上(X或Y)等间隔排列。 比如: K线图,柱状图2. 不等间隔图 序列在任何方向上都不是等间隔排列。 比如: 散点图===============================================================通过分析各类图
2016-11-29 16:40:00
1201
原创 图表概述
>>轴的分类-----------------------------------------------------------------1. 类目轴 ( 时间轴也属于类目轴 )2. 数值轴>>图表分类(按照轴的种类进行分类)-------------------------------------------------------
2016-11-28 11:38:51
558
原创 图表基类功能
1 能够在指定位置绘制X轴,Y轴( 能够将X轴绘制到上部,也能绘制到下部; 能够将Y轴绘制到左侧,也能绘制到右侧 )2 能够为轴绘制刻度线。对于X轴,刻度线可以在轴下部也可以在轴上部。对于Y轴,刻度线可以在左侧也可以在右侧3 能够反转轴的方向( 比如: 在笛卡尔坐标系中,Y轴向上代表数量的增加。反转后,Y轴向下代表数量的增加)4 能够计算数值轴的标签间隔( interv
2016-11-28 11:19:26
309
原创 性能优化1: 能在一个循环内处理的事情,不要分成多个循环
观察如下代码,分开循环会造成运行时间增加。时间分别为:167213package{ import flash.display.Sprite; import flash.utils.getTimer; public class ddd extends Sprite { public function ddd() { var i:int ;
2016-11-02 15:48:38
845
原创 非大数据条件下,使用Array而不是用Vector
Vector比Array运行速度快,在大循环中有体现。循环次数1万以内,速度差别不大。而准备Vector数据却比Array麻烦得多。准备数据是使用者的工作,Vector使用体验不够友好。让使用者使用不爽的API接口是不会得到很好评价的Array = [ a,b,c,d] ----------一步Vector = new Vector();
2016-10-19 16:35:41
430
转载 转载: 《Flash:DisplayObject的矩阵旋转(移动/修改注册点,修改旋转点)》
http://www.cnblogs.com/kenkofox/p/3305241.html为防止网页消失,复制其内容如下:=========================================================var a:Sprite = new Sprite();a.graphics.beginFill(0);a.graphics.draw
2016-10-14 11:59:19
381
原创 Chart: 计算X轴标签个数1 (正确的分析) --- 确定标签间隔数
这是对【eCharts】版本3源码的分析结果: 通过遍历,尝试找出标签间隔数。源代码位置: echarts-master\src\coord\axisHelper.js 函数名:axisHelper.getAxisLabelInterval【思路】===================================================
2016-09-14 18:38:37
2082
原创 Chart: 计算X轴标签个数1 (错误的分析)
>>问题描述1. 字符串数组S,有多个元素(个数>1)2. 数组每个元素的字符串长度不等。例如: S[0]="你好吗" , S[1]="不好" , S[2]="为什么呢" , S[3]="壮志未酬呢" , S[4]="那就" , S[5]="好好干" , S[6]="好" 。。。 *可以假定每个字符宽度统一占10个像素3. 有限宽
2016-09-13 18:14:30
376
原创 Chart: 备份
package base{import iAS.myNamespace.myInternal;use namespace myInternal;public class Chart_Base1 extends Container_Base{ //***************************************************************
2016-09-13 15:53:09
249
原创 读写Array数组,不同方法的效率
package{import flash.display.Sprite;import flash.utils.getTimer;[SWF(width=465, height=465, frameRate=60)]public class bbb extends Sprite{private var arr:Array=[];public function b
2016-08-12 13:57:49
374
原创 Menu: 只能通过隐藏和显示控制,而不能物理增减项目
只是规则。Menu在获得数据源时,实例化所有子项。只有更换数据源的时候,才会发生实质的增减子项。在数据源不变的前提下,子项通过显示和隐藏来改变整体外观
2016-07-28 15:34:13
232
原创 Menu暴露出的接口内容
1. 设定 / 更改数据源2. 获取指定节点状态(比如: 有效无效状态,显隐状态,是否有子项,是否被选择等)3. 修改指定节点状态(例子同上)
2016-07-21 13:43:17
411
原创 设计:DataGrid内部不支持列排序
DataGrid根据外部的数据源的顺序来显示内容。如果其内部调整数据显示顺序,1:不一定满足具体的需求 2:对于大数据的排序,AS执行效率是个问题 3:增加了DataGrid自身的复杂性,不利于维护和扩展。 设计思路:1. DataGrid内部不提供数据排序2. 将排序功能交给DadaGrid外部的应用去实现。3. DataGrid内部提供触发排序的接口4
2016-02-05 17:58:19
623
原创 500个TextField周期性更新数据,帧频在更新时刻,降到了15帧/秒
如果使用TextField作为Grid单元格,在以下前提下测试,帧频降到了15帧/秒。所以为了提高帧频,需要另外想辙。package { import flash.events.Event; import flash.text.TextField; import iAS.MyApp; public class aaa extends M
2016-01-27 15:05:14
577
原创 List/Grid: 预先规定了项目的显示方式,因此不用在渲染器中对其布局
List/Grid的初次布局是由渲染器根据宽高尺寸和显示内容的实际大小计算完成的。在宽高不变的前提下,滚动条滚动也会更改UI布局(行位置的调整),但此时的UI布局变化不需要渲染器,而是组件内部控制的。这样,【布局】这个功能将分散在组件本体和渲染器两处。对于UI的显示控制,如果不加以规则限制,则代码看起来会分工不明确。代码严谨的结构性受到影响。*当然,任何事情都有特例,结
2016-01-22 11:00:33
600
原创 Gird: 两种结构设计
>>实验条件: 200条数据,每条数据中有40个项目 Grid宽高= 1300*700>>实验结果:1. 一次性实例化所有单元格(200*40=8000个) 优点: Scroll性能好,帧频可达60 缺点: 初始化时间相对长,占用更多的内存 设计上的特点:把消耗性能的处理集中在初始化。以
2016-01-19 13:54:10
501
原创 as3 性能相关的帖子
http://www.asarea.cn/diary/160http://blog.163.com/sjy_814/blog/static/7780116420125161920292/http://as3.iteye.com/blog/905039http://bbs.9ria.com/thread-132842-1-1.html
2016-01-08 17:45:39
370
转载 Flex进阶持续学习——性能优化
Flex进阶持续学习——性能优化http://coffeelover.iteye.com/blog/1163906为防止今后找不到该文章,特此复制!================================= 一. 参考资料 Performance-tuning Adobe AIR applicationsOptimizingAdobe
2016-01-07 22:27:29
1999
转载 FlashPlayer的安全性比上不足比下有余 *未必是真实的数据
以下文章在【雷锋网】中没有查找到。会不会是杜撰的?========================================苹果系统安全吗?顶级黑客告诉你这是错觉http://www.yangtse.com/keji/2016-01-05/753032.html========================================654,这个
2016-01-05 08:39:24
1046
原创 局部变量类成员化的设计思路:减少变量频繁构造,析构的时间成本和内存成本
>>前提假设Class A{ public static function funcA():void { var m:int ; var n:int ; ...... }} 假设上述函数【funcA】用于为Grid中
2015-12-17 16:23:14
550
原创 textField: wordWrap与autoSize的关系
只有textField.wordWrap = false的时候,textField.autoSize才起作用。理由:wordWrap = true,意味着文本根据textField宽度,自动折行。也就是说,前提条件是给textField设置宽度。而autoSize是根据文本自然的宽高,反向为textField设置宽高,这和上面的前提条件相反。因此textFi
2015-12-14 13:21:34
1049
转载 ActionScript显示大量外部jpg图片
http://blog.youkuaiyun.com/lqk1985/article/details/6532711
2015-11-20 09:40:31
532
原创 Enable不能和MouseOver、Out等并列作为状态
MouseOver/Out作为状态可以用来控制UI外观的切换,比如按钮颜色。而Enable不能作为【状态】和MouseOver/Out同等定义。因为它们是不同级别的。 举例:按钮在鼠标移入,移出时改变按钮的颜色。点击按钮后,让按钮失效(Enable->Disable)。 代码实现方法:在按钮上监听MouseEvent.ROLLOVER、MouseEvent.RO
2015-11-17 17:55:46
880
原创 Chart: 计算X轴标签个数
在图表中,横轴通常表示分类,纵轴表示数值。纵轴的数值标签表示,是需要算法支持的,参见【图表轴刻度的思路,算法: 转载X】,略过。这里说说横轴(X轴)的标签。 用K线图做例子,在一个图中表示的蜡烛线非常多,每根线对应一个时间,这些时间就是X轴上要表示的标签。如果每根线的时间都在X轴表示出来,由于数量太多,就会相互重叠,根本分不清彼此,上面的文字让看不出来。因此就要减少其数量。
2015-09-08 13:17:47
4410
疑惑: 在原型方法中访问var变量
2017-09-08
请教:Table标签的浏览器兼容性问题
2017-08-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人