山东青岛电脑学校 专业软件工程师培训,软件人才就业实训中心0532-85025005

Java枚举使用详解

 

在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。

例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。

Java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,以下代码详细介绍了枚举的用法。

Tags:

发布: 青软IT学院 分类: 未分类 评论: 0 浏览: 9

程序员们最易犯的10种错误

 

计算机行业中无疑程序员的薪资待遇是极高的,每年都有大量的人投身软件编程行业,成为一名程序员。

1、缺少必要的注释

大段的iF-else缺少注释,让维护者没有办法快速分辨分支逻辑。特定地方存在hack或复杂逻辑的代码,缺少注释会让后面得人不明是什么原因。为了你好,也为了后来者好,请务必加上代码。

2、不变和变化的部分拆分

程序员中流传着一句话,此处不要写死,将来必改。有经验的程序员会将一些业务层的逻辑抽象出来,写成配置文件,好处就是如果后续需求有改变,只需改配置文件即可,肯定不会引入bug。

Tags:

发布: 青软IT学院 分类: 未分类 评论: 0 浏览: 7

Java中静态代码块的用法 static用法详解

 (一)Java 静态代码块 静态方法区别
 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用
 比如main方法就必须是静态的 这是程序入口
 两者的区别就是:静态代码块是自动执行的;
静态方法是被调用的时候才执行的.

Tags:

发布: 青软IT学院 分类: 未分类 评论: 0 浏览: 12

Java 的未来

为了收集关于 Java 生态系统发展现状的见解,我们采访了 9 名对该生态系统非常熟悉的高管。

我们向这些有经验的 Java 专家问了这么一个问题: "从你的观点来看,Java 的未来发展为怎样?"

下面是他们的回答:

  • 我之前已经不再用 Java 了,但是 Java 8 发布后我又回来了。Java 8 有很多创新,这些创新是我从 Java 2 到 Java 7 都没看到过的。Lambda 就是一个改变游戏规则的特性。此外 Java 9 还将推出模块化系统(译者注:该特性已经被委员会否决了)。JVM 是一个可靠的平台,可以运行在各种系统上。Java 语言本身可能被替代,但是 JVM 将一直长存。

Tags:

发布: 青软IT学院 分类: 未分类 评论: 0 浏览: 11

Java网络编程

 课前思考

1. 什么是TCP/IP协议?
2. TCP/IP有哪两种传输协议,各有什么特点?
3. 什么是URL?
4. URL和IP地址有什么样的关系?
5. 什么叫套接字(Socket)?
6. 套接字(Socket)和TCP/IP协议的关系?
7. URL和套接字(Socket)的关系?
8.1 网络编程基本概念,TCP/IP协议简介

Tags:

发布: 青软IT学院 分类: 未分类 评论: 0 浏览: 8

Java中的静态方法能否被重写?

 

*非静态方法属于类的实例,是可以被子类重写,从而达到多态的效果; 
 静态方法属于类,是不能被重写,故而也不能实现多态。*

下面是具体的验证过程

首先,定义一个超类A,里边定义一个静态方法和一个非静态方法:

publicclass A {    publicvoidunstaticMethod() {        System.out.println("SuperClass unstaticMethod");    }    publicstaticvoidstaticMethod() {        System.out.println("SuperClass staticMethod");    }}
  • 1

Tags:

发布: 青软IT学院 分类: 未分类 评论: 0 浏览: 13

未命名文章

 java中String的常用方法
1、length() 字符串的长度
  例:char chars[]={'a','b'.'c'};
    String s=new String(chars);
    int len=s.length();

2、charAt() 截取一个字符
  例:char ch;
    ch="abc".charAt(1); 返回'b'

3、 getChars() 截取多个字符
  void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
  sourceStart指定了子串开始字符的下标,sourceEnd指定了子串结束后的下一个字符的下标。因此, 子串包含从sourceStart到sourceEnd-1的字符。接收字符的数组由target指定,target中开始复制子串的下标值是targetStart。
  例:String s="this is a demo of the getChars method.";
    char buf[]=new char[20];
    s.getChars(10,14,buf,0);

4、getBytes()
  替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()。

5、toCharArray()

6、equals()和equalsIgnoreCase() 比较两个字符串

7、regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。
  boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)
  boolean regionMatches(boolean ignoreCase,int startIndex,String str2,int str2StartIndex,int numChars)

8、startsWith()和endsWith()  startsWith()方法决定是否以特定字符串开始,endWith()方法决定是否以特定字符串结束

9、equals()和==
  equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例。
  例:String s1="Hello";
    String s2=new String(s1);
    s1.eauals(s2); //true
    s1==s2;//false

10、compareTo()和compareToIgnoreCase() 比较字符串

11、indexOf()和lastIndexOf()
  indexOf() 查找字符或者子串第一次出现的地方。
  lastIndexOf() 查找字符或者子串是后一次出现的地方。

12、substring()  它有两种形式,第一种是:String substring(int startIndex)
         第二种是:String substring(int startIndex,int endIndex)

13、concat() 连接两个字符串

14 、replace() 替换
  它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
  String replace(char original,char replacement)
  例如:String s="Hello".replace('l','w');
  第二种形式是用一个字符序列替换另一个字符序列,形式如下:
  String replace(CharSequence original,CharSequence replacement)

15、trim() 去掉起始和结尾的空格

16、valueOf() 转换为字符串

17、toLowerCase() 转换为小写

18、toUpperCase() 转换为大写

19、StringBuffer构造函数
  StringBuffer定义了三个构造函数:
  StringBuffer()
  StringBuffer(int size)
  StringBuffer(String str)
  StringBuffer(CharSequence chars)
  
  (1)、length()和capacity()    一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。
  
  (2)、ensureCapacity() 设置缓冲区的大小
    void ensureCapacity(int capacity)

  (3)、setLength() 设置缓冲区的长度
    void setLength(int len)

  (4)、charAt()和setCharAt()
    char charAt(int where)
    void setCharAt(int where,char ch)

  (5)、getChars()
    void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)

  (6)、append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。
    例:int a=42;
      StringBuffer sb=new StringBuffer(40);
      String s=sb.append("a=").append(a).append("!").toString();

  (7)、insert() 插入字符串
    StringBuffer insert(int index,String str)
    StringBuffer insert(int index,char ch)
    StringBuffer insert(int index,Object obj)
    index指定将字符串插入到StringBuffer对象中的位置的下标。

  (8)、reverse() 颠倒StringBuffer对象中的字符
    StringBuffer reverse()

  (9)、delete()和deleteCharAt() 删除字符
    StringBuffer delete(int startIndex,int endIndex)
    StringBuffer deleteCharAt(int loc)

  (10)、replace() 替换
    StringBuffer replace(int startIndex,int endIndex,String str)

  (11)、substring() 截取子串
    String substring(int startIndex)
    String substring(int startIndex,int endIndex)

例子:
//String所给出的方法均可以直接调用
public class Test{
public static void main(String[] args){
String s = "Welcome to Java World!";
String s1 = " sun java ";
System.out.println(s.startsWith("Welcome"));//字符串以Welcome开头
System.out.println(s.endsWith("World"));//字符串以World结尾
String sL = s.toLowerCase();//全部转换成小写
String sU = s.toUpperCase();//全部转换成大写
System.out.println(sL);
System.out.println(sU);
String b = s.substring(11);//从第十一位开始
System.out.println(b);
String c = s.substring(8,11);//从第八位开始在第十一位结束
System.out.println(c);
String d = s1.trim();//去掉首尾的空格
System.out.println(d);
String s2 = "我是程序员,我在学java";
String e = s2.replace("我","你");
System.out.println(e);
int f = 5;
String s3 = String.valueOf(f);
System.out.println(s3);
String s4 = "我是,这的,大王";
String[] g = s4.split(",");
System.out.println(g[0]);
当把字符串转换成基本类型时,例如,int,integer.praseInt(String s)

Tags:

发布: 青软IT学院 分类: 未分类 评论: 0 浏览: 12

提高编码技能的10个小窍门

 

你想成为一名程序员,并且正在为之奋斗,那么你努力的方式,比如做事方法、思维习惯都将会影响你会成为怎样的一名程序员。

那么,你需要成为一个天才才能学好编程吗?我觉得没有必要。

你必须建立自己的做事方式。需要学习一些(或更多的)技巧, 不断的在Google上搜索查询,与书成为朋友。有一长串的TODO需要遵循。我将在这里分享一些技巧,帮你提高编程技能。

  • 尽可能多地练习:

Tags:

发布: 青软IT学院 分类: 未分类 评论: 0 浏览: 10

Java回调机制解析

 模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,也是我们在写程序中经常使用的;回调是一种双向的调用模式,也就是说,被调用的接口被调用时也会调用对方的接口,这句话可能有点绕,等文章后面举例说明;异步调用是一种类似消息或事件的机制,解决了同步阻塞的问题,举例来讲:A通知B后,他们各走各的路,互不影响,不用像同步调用那样,A通知B后,非得等到B走完后,A才继续走。回调是异步的基本,因此下面着重说回调机制。

Tags:

发布: 青软IT学院 分类: 未分类 评论: 0 浏览: 6

javascript事件模型框架

 最近一直在读《javascript高级程序设计》,也快读完了,读到事件这一章,书中提供的一个事件工具类很实用,我注释了一下,并摘记:

None.gif//eventutil.js
None.gif
var EventUtil = new Object;
ExpandedBlockStart.gifContractedBlock.gif
/**//* 
InBlock.gif  此方法用来给特定对象添加事件,oTarget是指定对象,sEventType是事件类型,如click、keydown等,    fnHandler是事件回调函数
InBlock.gif/*
InBlock.gifEventUtil.addEventHandler = function (oTarget, sEventType, fnHandler) {
InBlock.gif    //firefox情况下
InBlock.gif    if (oTarget.addEventListener) {
InBlock.gif        oTarget.addEventListener(sEventType, fnHandler, false);
InBlock.gif    }
InBlock.gif    //IE下
InBlock.gif    else if (oTarget.attachEvent) {
InBlock.gif        oTarget.attachEvent("on" + sEventType, fnHandler);
InBlock.gif    }
InBlock.gif    else {
InBlock.gif        oTarget["on" + sEventType] = fnHandler;
InBlock.gif    }
InBlock.gif};
InBlock.gif/* 
InBlock.gif  此方法用来移除特定对象的特定事件,oTarget是指定对象,sEventType是事件类型,如click、keydown等,fnHandler是事件回调函数
InBlock.gif/*       
InBlock.gifEventUtil.removeEventHandler = function (oTarget, sEventType, fnHandler) {
InBlock.gif    if (oTarget.removeEventListener) {
InBlock.gif        oTarget.removeEventListener(sEventType, fnHandler, false);
InBlock.gif    } else if (oTarget.detachEvent) {
InBlock.gif        oTarget.detachEvent("on" + sEventType, fnHandler);
InBlock.gif    } else { 
InBlock.gif        oTarget["on" + sEventType] = null;
InBlock.gif    }
InBlock.gif};
InBlock.gif
InBlock.gif/*
InBlock.gif 格式化事件,因为IE和其他浏览器下获取事件的方式不同并且事件的属性也不尽相同,通过此方法提供一个一致的事件
ExpandedBlockEnd.gif
*/
ExpandedBlockStart.gifContractedBlock.gifEventUtil.formatEvent 
= function (oEvent) dot.gif{
InBlock.gif    
//isIE和isWin引用到一个js文件,判断浏览器和操作系统类型
ExpandedSubBlockStart.gifContractedSubBlock.gif
    if (isIE && isWin) dot.gif{
InBlock.gif        oEvent.charCode 
= (oEvent.type == "keypress"? oEvent.keyCode : 0;
InBlock.gif        
//IE只支持冒泡,不支持捕获
InBlock.gif
        oEvent.eventPhase = 2;
InBlock.gif        oEvent.isChar 
= (oEvent.charCode > 0);
InBlock.gif        oEvent.pageX 
= oEvent.clientX + document.body.scrollLeft;
InBlock.gif        oEvent.pageY 
= oEvent.clientY + document.body.scrollTop;
InBlock.gif        
//阻止事件的默认行为
ExpandedSubBlockStart.gifContractedSubBlock.gif
        oEvent.preventDefault = function () dot.gif{
InBlock.gif            
this.returnValue = false;
ExpandedSubBlockEnd.gif        }
;
InBlock.gif
InBlock.gif         
//将toElement,fromElement转化为标准的relatedTarget 
ExpandedSubBlockStart.gifContractedSubBlock.gif
        if (oEvent.type == "mouseout"dot.gif{
InBlock.gif            oEvent.relatedTarget 
= oEvent.toElement;
ExpandedSubBlockStart.gifContractedSubBlock.gif        }
 else if (oEvent.type == "mouseover"dot.gif{
InBlock.gif            oEvent.relatedTarget 
= oEvent.fromElement;
ExpandedSubBlockEnd.gif        }

InBlock.gif        
//取消冒泡      
ExpandedSubBlockStart.gifContractedSubBlock.gif
        oEvent.stopPropagation = function () dot.gif{
InBlock.gif            
this.cancelBubble = true;
ExpandedSubBlockEnd.gif        }
;
InBlock.gif
InBlock.gif        oEvent.target 
= oEvent.srcElement;
InBlock.gif        
//添加事件发生时间属性,IE没有
InBlock.gif
        oEvent.time = (new Date).getTime();
ExpandedSubBlockEnd.gif    }

InBlock.gif    
return oEvent;
ExpandedBlockEnd.gif}
;
None.gif
ExpandedBlockStart.gifContractedBlock.gifEventUtil.getEvent 
= function() dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if (window.event) dot.gif{
InBlock.gif        
//格式化IE的事件
InBlock.gif
        return this.formatEvent(window.event);
ExpandedSubBlockStart.gifContractedSubBlock.gif    }
 else dot.gif{
InBlock.gif        
return EventUtil.getEvent.caller.arguments[0];
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}
;
None.gif


附带上一个判断浏览器和系统类型的js文件,通过引入一些名字显而易见的全局变量作为判断的结果,使用时需要小心变量名称冲突:
None.gif//detect.js,同样来自《JAVASCRIPT高级程序设计》
None.gif
var sUserAgent = navigator.userAgent;
None.gif
var fAppVersion = parseFloat(navigator.appVersion);
None.gif
ExpandedBlockStart.gifContractedBlock.gif
function compareVersions(sVersion1, sVersion2) dot.gif{
InBlock.gif
InBlock.gif    
var aVersion1 = sVersion1.split(".");
InBlock.gif    
var aVersion2 = sVersion2.split(".");
InBlock.gif    
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if (aVersion1.length > aVersion2.length) dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif        
for (var i=0; i < aVersion1.length - aVersion2.length; i++dot.gif{
InBlock.gif            aVersion2.push(
"0");
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockStart.gifContractedSubBlock.gif    }
 else if (aVersion1.length < aVersion2.length) dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif        
for (var i=0; i < aVersion2.length - aVersion1.length; i++dot.gif{
InBlock.gif            aVersion1.push(
"0");
ExpandedSubBlockEnd.gif        }
    
ExpandedSubBlockEnd.gif    }

InBlock.gif    
ExpandedSubBlockStart.gifContractedSubBlock.gif    
for (var i=0; i < aVersion1.length; i++dot.gif{
InBlock.gif 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
if (aVersion1[i] < aVersion2[i]) dot.gif{
InBlock.gif            
return -1;
ExpandedSubBlockStart.gifContractedSubBlock.gif        }
 else if (aVersion1[i] > aVersion2[i]) dot.gif{
InBlock.gif            
return 1;
ExpandedSubBlockEnd.gif        }
    
ExpandedSubBlockEnd.gif    }

InBlock.gif    
InBlock.gif    
return 0;
InBlock.gif
ExpandedBlockEnd.gif}

None.gif
None.gif
var isOpera = sUserAgent.indexOf("Opera"> -1;
None.gif
var isMinOpera4 = isMinOpera5 = isMinOpera6 = isMinOpera7 = isMinOpera7_5 = false;
None.gif
ExpandedBlockStart.gifContractedBlock.gif
if (isOpera) dot.gif{
InBlock.gif    
var fOperaVersion;
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if(navigator.appName == "Opera"dot.gif{
InBlock.gif        fOperaVersion 
= fAppVersion;
ExpandedSubBlockStart.gifContractedSubBlock.gif    }
 else dot.gif{
InBlock.gif        
var reOperaVersion = new RegExp("Opera (//d+//.//d+)");
InBlock.gif        reOperaVersion.test(sUserAgent);
InBlock.gif        fOperaVersion 
= parseFloat(RegExp["$1"]);
ExpandedSubBlockEnd.gif    }

InBlock.gif
InBlock.gif    isMinOpera4 
= fOperaVersion >= 4;
InBlock.gif    isMinOpera5 
= fOperaVersion >= 5;
InBlock.gif    isMinOpera6 
= fOperaVersion >= 6;
InBlock.gif    isMinOpera7 
= fOperaVersion >= 7;
InBlock.gif    isMinOpera7_5 
= fOperaVersion >= 7.5;
ExpandedBlockEnd.gif}

None.gif
None.gif
var isKHTML = sUserAgent.indexOf("KHTML"> -1 
None.gif              
|| sUserAgent.indexOf("Konqueror"> -1 
None.gif              
|| sUserAgent.indexOf("AppleWebKit"> -1
None.gif              
None.gif
var isMinSafari1 = isMinSafari1_2 = false;
None.gif
var isMinKonq2_2 = isMinKonq3 = isMinKonq3_1 = isMinKonq3_2 = false;
None.gif
ExpandedBlockStart.gifContractedBlock.gif
if (isKHTML) dot.gif{
InBlock.gif    isSafari 
= sUserAgent.indexOf("AppleWebKit"> -1;
InBlock.gif    isKonq 
= sUserAgent.indexOf("Konqueror"> -1;
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if (isSafari) dot.gif{
InBlock.gif        
var reAppleWebKit = new RegExp("AppleWebKit///(//d+(?://.//d*)?)");
InBlock.gif        reAppleWebKit.test(sUserAgent);
InBlock.gif        
var fAppleWebKitVersion = parseFloat(RegExp["$1"]);
InBlock.gif
InBlock.gif        isMinSafari1 
= fAppleWebKitVersion >= 85;
InBlock.gif        isMinSafari1_2 
= fAppleWebKitVersion >= 124;
ExpandedSubBlockStart.gifContractedSubBlock.gif    }
 else if (isKonq) dot.gif{
InBlock.gif
InBlock.gif        
var reKonq = new RegExp("Konqueror///(//d+(?://.//d+(?://.//d)?)?)");
InBlock.gif        reKonq.test(sUserAgent);
InBlock.gif        isMinKonq2_2 
= compareVersions(RegExp["$1"], "2.2">= 0;
InBlock.gif        isMinKonq3 
= compareVersions(RegExp["$1"], "3.0">= 0;
InBlock.gif        isMinKonq3_1 
= compareVersions(RegExp["$1"], "3.1">= 0;
InBlock.gif        isMinKonq3_2 
= compareVersions(RegExp["$1"], "3.2">= 0;
ExpandedSubBlockEnd.gif    }
 
InBlock.gif    
ExpandedBlockEnd.gif}

None.gif
None.gif
var isIE = sUserAgent.indexOf("compatible"> -1 
None.gif           
&& sUserAgent.indexOf("MSIE"> -1
None.gif           
&& !isOpera;
None.gif           
None.gif
var isMinIE4 = isMinIE5 = isMinIE5_5 = isMinIE6 = false;
None.gif
ExpandedBlockStart.gifContractedBlock.gif
if (isIE) dot.gif{
InBlock.gif    
var reIE = new RegExp("MSIE (//d+//.//d+);");
InBlock.gif    reIE.test(sUserAgent);
InBlock.gif    
var fIEVersion = parseFloat(RegExp["$1"]);
InBlock.gif
InBlock.gif    isMinIE4 
= fIEVersion >= 4;
InBlock.gif    isMinIE5 
= fIEVersion >= 5;
InBlock.gif    isMinIE5_5 
= fIEVersion >= 5.5;
InBlock.gif    isMinIE6 
= fIEVersion >= 6.0;
ExpandedBlockEnd.gif}

None.gif
None.gif
var isMoz = sUserAgent.indexOf("Gecko"> -1
None.gif            
&& !isKHTML;
None.gif
None.gif
var isMinMoz1 = sMinMoz1_4 = isMinMoz1_5 = false;
None.gif
ExpandedBlockStart.gifContractedBlock.gif
if (isMoz) dot.gif{
InBlock.gif    
var reMoz = new RegExp("rv:(//d+//.//d+(?://.//d+)?)");
InBlock.gif    reMoz.test(sUserAgent);
InBlock.gif    isMinMoz1 
= compareVersions(RegExp["$1"], "1.0">= 0;
InBlock.gif    isMinMoz1_4 
= compareVersions(RegExp["$1"], "1.4">= 0;
InBlock.gif    isMinMoz1_5 
= compareVersions(RegExp["$1"], "1.5">= 0;
ExpandedBlockEnd.gif}

None.gif
None.gif
var isNS4 = !isIE && !isOpera && !isMoz && !isKHTML 
None.gif            
&& (sUserAgent.indexOf("Mozilla"== 0
None.gif            
&& (navigator.appName == "Netscape"
None.gif            
&& (fAppVersion >= 4.0 && fAppVersion < 5.0);
None.gif
None.gif
var isMinNS4 = isMinNS4_5 = isMinNS4_7 = isMinNS4_8 = false;
None.gif
ExpandedBlockStart.gifContractedBlock.gif
if (isNS4) dot.gif{
InBlock.gif    isMinNS4 
= true;
InBlock.gif    isMinNS4_5 
= fAppVersion >= 4.5;
InBlock.gif    isMinNS4_7 
= fAppVersion >= 4.7;
InBlock.gif    isMinNS4_8 
= fAppVersion >= 4.8;
ExpandedBlockEnd.gif}

None.gif
None.gif
var isWin = (navigator.platform == "Win32"|| (navigator.platform == "Windows");
None.gif
var isMac = (navigator.platform == "Mac68K"|| (navigator.platform == "MacPPC"
None.gif            
|| (navigator.platform == "Macintosh");
None.gif
None.gif
var isUnix = (navigator.platform == "X11"&& !isWin && !isMac;
None.gif
None.gif
var isWin95 = isWin98 = isWinNT4 = isWin2K = isWinME = isWinXP = false;
None.gif
var isMac68K = isMacPPC = false;
None.gif
var isSunOS = isMinSunOS4 = isMinSunOS5 = isMinSunOS5_5 = false;
None.gif
ExpandedBlockStart.gifContractedBlock.gif
if (isWin) dot.gif{
InBlock.gif    isWin95 
= sUserAgent.indexOf("Win95"> -1 
InBlock.gif              
|| sUserAgent.indexOf("Windows 95"> -1;
InBlock.gif    isWin98 
= sUserAgent.indexOf("Win98"> -1 
InBlock.gif              
|| sUserAgent.indexOf("Windows 98"> -1;
InBlock.gif    isWinME 
= sUserAgent.indexOf("Win 9x 4.90"> -1 
InBlock.gif              
|| sUserAgent.indexOf("Windows ME"> -1;
InBlock.gif    isWin2K 
= sUserAgent.indexOf("Windows NT 5.0"> -1 
InBlock.gif              
|| sUserAgent.indexOf("Windows 2000"> -1;
InBlock.gif    isWinXP 
= sUserAgent.indexOf("Windows NT 5.1"> -1 
InBlock.gif              
|| sUserAgent.indexOf("Windows XP"> -1;
InBlock.gif    isWinNT4 
= sUserAgent.indexOf("WinNT"> -1 
InBlock.gif              
|| sUserAgent.indexOf("Windows NT"> -1 
InBlock.gif              
|| sUserAgent.indexOf("WinNT4.0"> -1 
InBlock.gif              
|| sUserAgent.indexOf("Windows NT 4.0"> -1 
InBlock.gif              
&& (!isWinME && !isWin2K && !isWinXP);
ExpandedBlockEnd.gif}
 
None.gif
ExpandedBlockStart.gifContractedBlock.gif
if (isMac) dot.gif{
InBlock.gif    isMac68K 
= sUserAgent.indexOf("Mac_68000"> -1 
InBlock.gif               
|| sUserAgent.indexOf("68K"> -1;
InBlock.gif    isMacPPC 
= sUserAgent.indexOf("Mac_PowerPC"> -1 
InBlock.gif               
|| sUserAgent.indexOf("PPC"> -1;  
ExpandedBlockEnd.gif}

None.gif
ExpandedBlockStart.gifContractedBlock.gif
if (isUnix) dot.gif{
InBlock.gif    isSunOS 
= sUserAgent.indexOf("SunOS"> -1;
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if (isSunOS) dot.gif{
InBlock.gif        
var reSunOS = new RegExp("SunOS (//d+//.//d+(?://.//d+)?)");
InBlock.gif        reSunOS.test(sUserAgent);
InBlock.gif        isMinSunOS4 
= compareVersions(RegExp["$1"], "4.0">= 0;
InBlock.gif        isMinSunOS5 
= compareVersions(RegExp["$1"], "5.0">= 0;
InBlock.gif        isMinSunOS5_5 
= compareVersions(RegExp["$1"], "5.5">= 0;
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}
文章转自庄周梦蝶  ,原文发布时间5.16

 

Tags:

发布: 青软IT学院 分类: 未分类 评论: 0 浏览: 7