http://hotoo.ik8.com/cn/hotoo/javascript/tools/Browser.js
一个封装的判断浏览器“static”对象,用于支持多浏览器兼容http://hotoo.ik8.com/cn/hotoo/javascript/tools/Counter.js
一个计数器类,HTWindow.js创建了一个全局计数器,用于记录“窗口”最大的z-index,保证获得焦点的“窗口”可以显示在最前面。http://hotoo.ik8.com/cn/hotoo/javascript/tools/HTWindow.js
封装的窗口类,new HTWindow(title, body,...);后,窗口所有的动作处理都将封装在内部处理,可以不需要外部对象引用。请多指教
[email protected]
一个封装的判断浏览器“static”对象,用于支持多浏览器兼容http://hotoo.ik8.com/cn/hotoo/javascript/tools/Counter.js
一个计数器类,HTWindow.js创建了一个全局计数器,用于记录“窗口”最大的z-index,保证获得焦点的“窗口”可以显示在最前面。http://hotoo.ik8.com/cn/hotoo/javascript/tools/HTWindow.js
封装的窗口类,new HTWindow(title, body,...);后,窗口所有的动作处理都将封装在内部处理,可以不需要外部对象引用。请多指教
[email protected]
Browser 里的判断更精确的应该是使用 navigator.userAgent
HTWindow 里没有考虑比如页面里还有<select> 和 Flash 的问题
Counter 最为主要的你的类设计里比如 this._index 已经暴露给外面了,我可以直接调用/设置这个变量还不用通过你的 set/get 了对不对。所以要实现 private 的话应该这样:function Counter( defaultValue ){
if (typeof(defaultValue) != 'number') {
alert('param is error!'); return;
};
var index = defaultValue;
this.getCount = function(){
return index;
};
this.setCount = function( value ){
index = value;
};
this.addCount = function( value ){
index += (typeof(value) == "number") ? value : 1;
}
this.subCount = function( value ){
index -= (typeof(value) == "number") ? value : 1;
}
}另,JS代码里尽量不要出现中文,以避免编码问题带来的困扰!
立即改正到现在我才明白
var创建才是private的
而不是this._var
而之前我却莫名其妙的有恰相反的观点至于中文问题
主要是为了方便我们自己人
我已经通过Browser来判断了
测试发现只有Opera有编码问题
当然
其实全部使用unicode也可以至于select, flash带来的问题
正在学习createPopup方法衷心感谢各位~~`
http://37.wuyou.com
由于在自己电脑,IP不固定,如果不能及时查看,请下次光临.谢谢. 期待与你交流.
parseInt(NotaNumber)得到的结果是NaN
NaN的数据类型也是属于number (typeof(NaN) == 'number')
犀牛书《Javascript权威指南》说“ECMA标准还要求两个全局属性 Infinity 和 NaN 与 Number.POSITIVE_INFINITY 和 Number.NaN 的值相同。这些属性是在 Internet Explorer 4 中实现的,Navigator 4 中没有它们。”但是我在IE6.0中测试发现它们并不符合ECMA标准如果我希望能够同时处理 数值 和 能够转换成数值的字符串
转换成不成功则抛出异常
应该怎么做呢
经过测试try{
i = parseInt(s);
}catch(e){
throw(new Error(-1, "param is error."));
}是不抛出异常的
i == NaN请教如何解决
如果我希望在class中实现private的方法
应该怎么写呢?
请教当然
银子方面好说
i = parseInt(s);
}catch(e){
throw(new Error(-1, "param is error."));
}
if(i!=i) throw(new Error(-1, "param is error."));================================
根据一个特性,NaN之间无法用== !=来判断 NaN != NaN
如果parseInt的结果i不等于自身,肯定就是NaN
无法使用 ==原来劣势可以转变成优势
原来 NaN != NaN 就暴露了他就是 NaN
是偶见过模拟的最像的
模拟WIN XP 是很像
功能也很不错
学习但是说实在的
闲耘并不想模拟成WIN
我对Linux更感兴趣
呵呵~~`
1. 变量私有化
2. 可以覆盖select, object等标签
3. 添加了callback方法,“窗口”关闭时调用
4. 使用HTWindow类,完成了一个简单的模拟window.alert()的类
5. Browser对象和Counter类也进行了改正
6. HTWindow类移到cn.hotoo.javascript.UI包中严重感谢meizz
如果发现还有任何不足
请多指教
[email protected]明日结帖
字符:1
错误:'HTWinIndex' 未定义
代码:0
URL: http://hotoo.ik8.com/cn/hotoo/javascript/UI/HTWindow.html
字符:1
代码:0
错误:'win2' 为空或不是对象
是由于头文件base的设置问题
cn/hotoo/config/script/base.js
用来配置类似Java的classpath的信息
现在已经修正傲游也通过测试
前几天一直思考inner method 私有化的问题
突发奇想
终于解决
感谢各位结帖!