TDGG周刊

我们一直在进步......

« 澜沧一百多天的外业调查向往的旅程 »

思考中前行 -- 实习小记

 

       今天是到公司来实习的第十四天,时间应该说不算太长,每一天学习的经历让我感觉十四天过的很快,也很充实! 通过与部门同事的交流与学习, 我成长着,从团队中每一个人身上,我都学到了一些学校里边学不到的东西!比如说学习方法和思考问题的方式等,在此感谢!以下是我到公司学习的一些经历与总结!
       第一天到公司,由于对部门要做的项目还不太熟悉,我被安排看前边同事写的关于所做项目的源码!html+javascript语言写的,打开了以后,大体的html框架,还有javascript函数的功能(当然,只是通过看函数名)都有大致的了解;可是因为之前在学校的时候对CSSjavascript可以说是一片空白,以前用的script也只是简单的一些alert弹出!所以代码里边出现的标记属性和方法调用,让我着实感觉着实很晕,也倍感压力!尽管如此,我并没有退缩,在学校自己学习的经历已经让我懂得了,只是愿意学,为自己所想付诸实践,
       应该说是没有问题的!根据原因,我先抬起自己原先了解不深的javascript,通过看书理解和上机实践操作,再通过对照源码!一天天过了,源码的所体现的思想也一天天慢慢呈现在眼前!几天以后,对javascript这门语言所解决的问题和常用操作方法等有了更深的理解,回过头来再那些代码,感觉就比较亲切了,再看了一些关于CSS的书后,明白了其实代码思想就是使用javascript对页面中的标记中的元素及其属性进行操作,操作涉及到了事件的的触发后所调用么的处理函数,而属性就是通过对元素CSS的定义和重新赋值,让表现出来的页面有所相应的变化;<div>层的思想理解了以后,对于代码中我感觉到的难点也就没有了!
 
      还要说明的是,在学习javascript期间的时候总结了一些初学者(对于我)可能会遇到的问题和解决方法:
一、在做响应事件处理的时候,出现 "未找到对象" 的错误!!之前还以为是申明位置有误!!仔细检查了后发现,原来因为javascript里边代码有错误!虽然简单,但是没有学过,根据错误提示,可能会误以为是申明位置有误!
二、总结了声明javascrip函数和触发事件建立联系的位置:
1、可以放在html文档中<head>的标记里边,但是要放在外部,不要在函数里边;
2、可以放在页面所有元素载入完了以后的<body>标记的里边;
3、可以在设置标记的事件属性的时候调用它;
4、可以用写的一初始化函数,如initial();然后把标记要用到事件属性的联系都在里边申明;在载入页面的时候,在<body>标记中的onload属性中,调用initial()函数;
三、初学javascript的可能会发现有时候在给事件(onmouseover等)建立关联函数的时候,函数有时候只写函数名,有时候写了函数名之后,后边还要加一个括号;稍不注意就导致错误,下边总结了一些规律(供参考):
1、在用到<script>标记中的时候,我们就不加括号,只写函数名;
2、在document里边其它的标记的事件属性建立关联的时候,要加上双引号,而且函数名和后边的小括号都要加进去;
3、总之,如果在调用的时候加上双引号的话,引号里边我们写好函数名以后还要加括号!!要是没有引号的话,我们只写函数名就可以了!
 
       在了解了javascritp语言后,我开始了flash编程,因为前边对javascript学习的思想和对以前编程语言的了解,我很快上手了flash,当然,应该说是对flash有了些了解,像一位同事说的一样,任何语言都是“入门容易学精难”,一本书的内容和思想毕竟是有限的!
       在用flashas文件的时候,觉得重点就是了解里边的几个大类!在清楚了对应<div>层的思想,其实转到flash里边就是一个容器的思想后,我用flashscriptjavasript实现的动态加载图片,实现拖动后动态加载可显图片和删除不在显示区域图片的功能;在做的时候,遇到的问题有两个:
一、在拖动的时候要对不在显示区的图片进行删除,在javascipt里边删除之前加载的子结点img就可以了,一步就可以实现!但flash中的为每个图片建立对象后,把每个对象赋给数组,当时没有考虑到数组在这只是一个引用而已,当用removeChild方法删除数组对象的时候,只是把引用从容器中删除,但是img依然存在内存,所以必然执行的时候会出错,在看了帮助文档和书中的内容后,了解到了flash对象从内存中删除的机制,是当对象没有被引用的时候,即引用计数器为0的时候,才将对象移除,所在在执行了removeChild操作后,还必需用delete将引用删除,从而让计算机可以收回内存!
二、第二个问题是关于拖动的时候,获得显示区域的算法,前边给的javascript代码中仔细看结果后,会发现在当向左下,右上,右下拖动的时候,会出现一些问题,显示没有按照预期结果加载图片!通过设定一些测试数据进行代码测试后发现,以前的算法,只考虑了加载时起点都为正的情况,而起点是由内部容器的左上角的x,y坐标确定,因为每个切片宽和高都是100px,所以当我们把内部容器的坐标移到(300,300)时,可以发现,加载的图片是从x2y2z0(假设放大参数z0)开始,x0y0z0,x1y1z0就不见了,就是我们所看到的可视域中,有N行,或N列不见了!(N>=1通过改进算法,相应对其它有缺陷的部分重新设置图片加载的起点和终点!让起点startx,starty值也可以为负,就可以计算出相应终点也就是要载入图片上限的值!(注:在三种情况下(在容器的左上角left,top坐标均小于外部容器情况下),1left>0&&top>0; 2left>0&&top<0; 3left<0&&top>0; 图片是不会覆盖屏幕的,所以加载的宽和高应小于屏幕的宽和高还有一种情况,加载应该为空,就是当left>外部容器宽&& top>外部容器高时的时候).
 
  • 3.bee0873
  • 谢谢大家了!
    为加入如此年青&&有活力的团队感到自豪!!
  • 2009-4-25 21:08:15 回复该留言
  • 4.dsjfk
  • 俺看你这篇日志就像你刚开始看“代码里边出现的标记属性和方法调用”一样的感觉...Faint原谅偶的无知..(*^__^*)...
    由 cyadmin 于 2009-6-1 9:08:45 最后编辑
  • 2009-5-27 10:17:55 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

相关文章111

Powered By Z-Blog 1.8 Arwen Build 81206 theme by 博客主题网

Copyright 昆明土地公公科技有限公司. Some Rights Reserved.