`
driftcloudy
  • 浏览: 132049 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
  declare.js中包含了整个dojo面向对象中最重要的代码,即对类型表达和扩展的一些封装。功能虽然强大,但是幸好文件并不复杂,拥有清晰的脉络。整个declare.js一共定义了15个函数,14个具名函数,1个匿名函数。这14个具名函数中又有一些是declare.js内部使用的函数,外部无法调用,还有一些是由dojo提供的接口,可以供dojo.declare声明的类型来调用。具体函数如下所示: //declare.js的结构(来源于Dojo1.5版): (function(){ //9个内部函数,外部无法调用 function err(){...} function c3 ...
  这是dojo.declare中的三个极度蛋疼的功能,在对多继承的实质有所了解之后,才会加深对这三个功能的认识,所以放到最后说。这里就不谈它们的实现原理了,第四章中也许会描述到= =!     如果觉得运行constructor前后缺少 ...
(一) 定义多继承   Dojo在基于类的面向对象系统方面增强了JS的表现力,在第二章中已经提到Dojo还允许用户使用多继承,本章将主要探讨关于多继承的内容。利用dojo.declare声明多继承的类是很方便的,用户只需要传递一个数组(superclass )进去,superclass数组包含了所有的父类。 dojo.declare("A", null, { constructor: function() { console.log ("A"); } }); dojo.declare("B", null, { cons ...
(一) 利用DOJO.DECLARE声明类   在第一章中讲到,JS提供的是一种基于原型(Prototype)的对象系统。这与JS诞生的初衷有关,在把JS仅仅用作页面脚本时,利用Prototype是一种优势。因为基于原型的对象不仅节约内存,初始化速度快,更重要的是还拥有了原型继承带来的动态特性。但是如果需要在RIA环境下构建丰富的web应用,JS的原型系统又显得不太给力。在继承性方面,原型系统能够让两个对象之间发生继承关系,但需要经过构造器来衔接。在封装性方面,JS的表现很糟糕,除了没有关键字支持,JS实质上也只有‘全局’和‘函数’两种级别的作用域。在多态性方面,由于缺少静态类型检查,JS对 ...
DOJO中的面向对象     在JS中并没有Java等面向对象语言中常见的类(class)的概念。也就是说,JS中的对象并非基于类的。它仅仅为开发者提供了一些原类型和基本的内置对象。从写法上来看,它更加的类似于面向过程式的 ...
  两题都是在网上看到的baidu2007年前端笔试题,彼时我刚好写VB代码写的如火如荼热火朝天两眼发白四肢抽搐 题目1 按照格式:xxxx年xx月xx日xx时xx分xx秒动态显示时间 要求不足10的补0   这个题的解法多得泛滥。我花了点时间写了个练下手。   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html xmlns="http://www.w3.org/1999 ...
原题出自百度的笔试: 简述树的深度优先及广度优先遍历算法,并说明非递归实现。   当时我看到这个题目的时候,已经完全记不得非递归算法该怎么实现了,后来查阅了一下,要用到两个辅助的数据结构: 深度优先遍历-- ...
想用JS控制网页卸载确实是一件麻烦的事情。如果用了unload,那么很显然我们无法阻止网页的replace或者reload,因为 unload是在下一个网页到达client的时候被触发的,因此我只能选择用onbeforeunload。   onbeforeunload 被调用的时候,当前的页面尚未被unload,所以我们还能够来得及做一些事情。但是我最近也遇到了一些麻烦:onbeforeunload有时候会莫名 其妙的被执行两次。不管是IE还是FF都会出现这种现象。这是个极为隐蔽的问题,我费了好些力气才揪出了它。   究其原 因,是因为如果我们只剩最后一个标签页,那么关闭该标签页 ...
Benefits window.name比其他的跨域传输技术更有优势: 它比JSONP安全。可以说它和其他基于安全传输的frame(比如fragment identifier messaging ,Subspace)一样安全。(I)Frames 也有他们自己的安全问题,因为frame可以改变其他frame的locatio ...
        下午写代码的时候遇到一个跨域传输的问题,隔壁dojo组的帅哥建议我用dojox.io.windowName,于是我打算找点资料看看,结果搜了下发现几乎没有相关资料,连dojoCampus 上都没有详细解释。没办法,dojo的文档确实不多。我只好找篇英文的凑活看看了。 原文链接:http://www.sitepen.com/blog/2008/07/22/windowname-transport/   译:       window.name传输是一种可以进行跨域浏览器数据交互的新技术,同时它还能够同未知来源建立起安全的混搭 。dojo将window.name实现在 ...

hashCode乱谈

    博客分类:
  • JAVA
  今天翻“Effective Java”的时候看到了改写hashCode()方法的三条约定,突然想到了某些问题,故记录之。 1.在每个改写了equasl方法的类中,你也必须要改写hashCode方法。 2.如果equals相等,两个对象的hashCode必须相等。 3.不相等的对象倾向于产生 不相等的散列码,但是不相等的对象可以有相等的散列码。 我在写代码的时候曾遇到过如下情况: class Person { String name ; int age ; public Per ...
Global site tag (gtag.js) - Google Analytics