??xml version="1.0" encoding="utf-8" standalone="yes"?>
共同学习Q欢q{载。{载请注明地址?/span>http://blog.csdn.net/majianan/archive/2009/03/03/3952649.aspx】,谢谢O(∩_∩)OQ?/span>
/******************************************
* 没有版权 L修改 改好了请发给我一?O(∩_∩)O
* EmailQ?a href="mailto:jianan.ma@gmail.com" mce_href="mailto:jianan.ma@gmail.com">jianan.ma@gmail.com
* QQ:52524611
*******************************************/
功能Q?Q鼠标拖动列宽?Q双L复列?/p>
共同学习Q欢q{载。{载请注明地址?/font>http://blog.csdn.net/majianan/archive/2009/01/11/3754521.aspx】,谢谢O(∩_∩)OQ?/font>
主要是window.onscroll的运?br />
效果如图Q?/span>
代码如下Q?br />
【JavaScript】列表(SelectQ选项QOptionQ的UdQ上下左叻I
马嘉?nbsp; 2009-1-11
共同学习Q欢q{载。{载请注明地址?/span>http://blog.csdn.net/majianan/archive/2009/01/11/3754521.aspx】,谢谢O(∩_∩)OQ?/span>
寏V?/span>【JavaScript】列表元素上下左右移动:Select和Option的应?/span>》中的方法进行了优化?/span>
1.使用appendChildQ)Ҏ优化左右Ud函数moveRightQ)
2.使用insertBeforeQ)Ҏ优化上下Ud函数moveUpQ)
3.修改同时选中多项上下Ud不正常的Bug
功能如下Q?/span>
支持一ơ选中多项在左叛_表中来回Ud
代码如下Q?/span>
-- JavaScript 学习W记
马嘉?/span> 2008-12-19
后台所做工作:
1Q创建存?"hello" 的字W串Q且?str 指向它?/span>
2Q创建存?"world" 的字W串?/span>
3Q创建存储结果的字符丌Ӏ?/span>
4Q将 str 中的当前内容复制到结果字W串中?/span>
5Q把 world 复制到结果字W串中?/span>
6Q更?str Q str 指向l果字符丌Ӏ?/span>
每拼接一ơ字W串@环重?Q~6Q,如果重复成百上千ơ则会非常消耗资源,影响性能?/span>
解决ҎQ?/span>
使用 Array 对象存储字符Ԍ之后使用 joinQ)Ҏ输出l果?/span>
仿照 Java 中的 StringBuffer cR?/span>
试性能Q?/span>
代码1Q?"+=" 拼接字符?/span>
代码2Q?StringBuffer
从多ơ测试结果看来,使用StringBuffer 可以节省50%以上的时间?/span>
马嘉?/span> 2008-12-16
JavaScript中String 对象的sliceQ)、substringQ)、substrQ)Ҏ都能提取字符串的一部分Q但使用时有所区别?/span>
q回字符?stringObject ?startIndex 开始(包括 startIndex Q到 endIndex l束Q不包括 endIndex Qؓ止的所有字W?/span>
1Q?/strong>参数 endIndex 可选,如果没有指定Q则默认为字W串的长?stringObject.length ?/span>
2Q?/strong>startIndex 、endIndex 可以是负数。如果ؓ负,则表CZ字符串尾部开始算赗即-1表示字符串最后一个字W?/span>
3Q?/strong>startIndex、endIndex 都是可选的Q如果都不填则返回字W串 stringObject 的全部,{同于slice(0)
4Q?/strong>如果startIndex、endIndex 相等Q则q回IZ
【注3?/font>String.slice() ?Array.slice() 怼
q回字符?stringObject ?startIndex 开始(包括 startIndex Q到 endIndex l束Q不包括 endIndex Qؓ止的所有字W?/span>
1Q?/strong>startIndex 是一个非负的整数Q必d写。endIndex 是一个非负整敎ͼ可选。如果没有,则默认ؓ字符串的长度stringObject.length ?/span>
2Q?/strong>如果startIndex、endIndex 相等Q则q回IZ。如果startIndex ?endIndex 大,则提取子串之前,调换两个参数。即stringObject.substringQstartIndexQendIndexQ等同于stringObject.substringQendIndexQstartIndexQ?/span>
【注4?/font>?/font>substringQ)相比QsliceQ)更灵z,可以接收负参数?/span>
q回字符?stringObject ?startIndex 开始(包括 startIndex Q指定数目(lengthQ的字符字符?/span>
1Q?/strong>startIndex 必须填写Q可以是负数。如果ؓ负,则表CZ字符串尾部开始算赗即-1表示字符串最后一个字W?/span>
2Q?/strong>参数 length 可选,如果没有指定Q则默认为字W串的长?stringObject.length ?/span>
3Q?/strong>substrQ)可以代替sliceQ)和substringQ)来用,从上面代码看?stringObject.substr(3,4) {同于stringObject.substring(3,7)
【注5?/font>ECMAscript 没有对该Ҏq行标准化,因此量用该Ҏ?/span>
如果Q某字段要求非空Q则在原数字上加256Q?br />
如:某字Dcoltype=262,那么,262-256=6Q该字段应该ؓQSERIAL not NULL cdQ?br />
相比之下,ҎQmethodQ的目的昑־更ؓ普? 一个方法的基本功能是Z执行Java的代?
Signature differencesQ签名区别)Q?/span>Signature 不知道怎么译好)
构造函敎ͼconstructorsQ和ҎQmethodsQ在以下三个斚w存在差别Q?br>
· 修饰W?nbsp; QmodifiersQ?br>· q回cdQreturn typeQ?br>· 名字 QnameQ?br>
像方法一P构造函数可以有L一U访问修饰符Qaccess modifiersQ:公共的(publicQ,保护的(protectedQ,U有的(privateQ或者没有(常被UCؓpackage或者friendlyQ。不同于Ҏ的是Q构造函数只能被讉K修饰W进行限定。因此,构造函C能是abstract, static, final, natice or synchronized的?nbsp;
两者的q回cdQreturn typeQ也是截然不同的。方法可以拥有Q何有效的q回cdQ或者方法没有返回|q种情况下方法的q回cd为void。构造函数没有返回类型,也没有void?br>
最后,构造函数和Ҏ在取名方面也有很大的不同。构造函数名字与其类名(class nameQ相同;按照惯例Q方法用其他与cd不相同的名字。如果JavaE序员遵循通常惯例Q方法名会以小写字母开_构造函数名字以大写字母开头。ƈ且,因ؓ与类名相同,构造函数名字通常是个名词Q方法名字是个动词?br>
The use of "this" Qthis的用)
构造函数和Ҏ使用关键?this 差别很大?br>
Ҏ中的 this 指的是执行该Ҏ的类的实例(instanceQ。静态方法(static methodQ不使用 this 。因为静态方法不属于M一个类的实例,所?this 无所指向。静态方法M上属于一个类而非一个类的实例?br>
构造函C?this 指的是,在同一个类中拥有不同的参数列表的另一个构造函数。代码如下:
在代码中Q有两个构造函数?br>W一个构造函数通过一个String参数inputlnameq行赋倹{?br>W二个构造函数没有参敎ͼ通过默认的名?John/Mary Doe"来调用第一个构造函数?br>
如果在构造函C使用 thisQ则必须在构造函数的W一行代码当中,否则~译器会报错?br>注:在我q里的报错信息ؓ Constructor call must be the first statement in a constructor?br>
The use of "super"Qsuper的用)
Ҏ和构造函C?super 的时候,指的都是类QsuperclassQ,但也有所不同?br>
Ҏ中?super 会执行类中被覆盖的方法,如下所C:
在上面代码中Qsuper.getBirthInfo() 会调用类 Mammal 中被覆盖的方?getBirthInfo().
构造函C使用 super 会调用类中的构造函数?br>如果在构造函C使用 superQ则必须在构造函数的W一行代码当中,否则~译器会报错?br>注:在我q里的报错信息ؓ Constructor call must be the first statement in a constructor?br>
代码如下Q?br>
Complier -- supplied codeQ编译器提供的代码)
当编译器自动为构造函数提供代码的时候,Java初学者可能会感到困惑。如果你的类中没有构造函敎ͼ~译器将会ؓ你自动提供一个没有参数的构造函数。如果你的代码如下:
功能上它{同于如下代码:
如果在你的构造函数的W一行代码当中没有?superQ那么编译器会自动ؓ你提供代码,插入 super?br>如果你的代码如下Q?br>
功能上它{同于如下代码:
初学者可能会有疑问:TestConstructors q没有承Q何类Qؓ什么它会调用父cȝ构造函数呢Q?br>{案是:?Java 中如果没有显C的l承一个类Q则默认为承自 Object cR?br>
如果没有昄的声明一个构造函敎ͼ~译器自动提供一个没有参数的构造函敎ͼ如果一个构造函数没有显C的 super 调用Q编译器自动提供一个没有参数的 super 调用。所以下面的两段代码在功能上是等LQ?br>
?br>
InheritanceQ承)
下面情况有什么不对?
律师阅读cA的遗嘱。所有家庭成员围坐在大会议桌旁,q且有些人在d呜咽。律师说刎ͼ“我,cAQ头脑清楚n体健P我所有的构造函数留l我的孩?#8221;?br>
问题是构造函C是通过l承得到的。然而幸q的是,子类可以自动的承父cL有的ҎQ所以子cdƈ不是一无所有?br>
CQJava Ҏ可以通过l承得到Q而构造函C行。看下面代码Q?br>
c?SubClass 自动l承父类?sayHi Ҏ。然而,构造函?Example() 不会被类 SubClass 所l承?br>
Summarizing the differences
构造函CҎ的区别就像鸭嘴兽与典型的Z^动物一栗尤其是在目的(purposeQ,{QsignatureQ,?this ?super 的用方面。另外,在承和~译器提供代码方面也有很大差异。记住所有的区别可能会非常辛苦,所以下面提供的一个表|单的概括了重要的差异斚w?br>
Topic | Constructors | Methods |
---|---|---|
Purpose | Create an instance of a class | Group Java statements |
Modifiers | Cannot be abstract, final, native, static, or synchronized | Can be abstract, final, native, static, or synchronized |
Return type | No return type, not even void | void or a valid return type |
Name | Same name as the class (first letter is capitalized by convention) -- usually a noun | Any name except the class. Method names begin with a lowercase letter by convention -- usually the name of an action |
this | Refers to another constructor in the same class. If used, it must be the first line of the constructor | Refers to an instance of the owning class. Cannot be used by static methods |
super | Calls the constructor of the parent class. If used, must be the first line of the constructor | Calls an overridden method in the parent class |
Inheritance | Constructors are not inherited | Methods are inherited |
Compiler automatically supplies a default constructor | If the class has no constructor, a no-argument constructor is automatically supplied | Does not apply |
Compiler automatically supplies a default call to the superclass constructor | If the constructor makes no zero-or-more argument calls to super, a no-argument call to super is made | Does not apply |
如果想用非Java代码来编写程序,或者需要直接操U늡Ӟ此时Q你可以~写本机Ҏ(native method)?/p>
native关键字就是用来声明本机方?native method)的。一旦声明,q些本机Ҏ可以在JavaE序中被调用Q就像调用其他JavaҎ一栗?br>
native method 用C/C++语言实现Qƈ且被~译成DLLQ这些函数的实现体在DLL中,在Java中本机方法体只是一个分受?/p>
例如向操作系l请求机器的CPU~号ҎQ如下:
public native int getCPUID();
native method 以可以被重蝲或者覆盖,也可以是final, static, synchronized, public, protected, private 的。但是本机方法不能声明ؓabstract或者strictfpcd?br>
数字对应的webdings字体:
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
英文写字母对应的webdings字体:
a b c d e f g h i j k l m
a b c d e f g h i j k l m
n o p q r s t u v w x y z
n o p q r s t u v w x y z
英文大写字母对应的webdings字体:
A B C D E F G H I J K L M
A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z
N O P Q R S T U V W X Y Z
Ҏ字符对应的webdings字体:
Ҏ字符:
` ! @ # $ % ^ &
webdings字体:
` ! @ # $ % ^ &
Ҏ字符:
* ( ) - + | - =
webdings字体:
* ( ) - + | - =
Ҏ字符:
[ ] { } ; ' : "
webdings字体:
[ ] { } ; ' : "
Ҏ字符:
< > , . \ / ?
webdings字体:
< > , . \ / ?
条g注释是一些if判断Q但q些判断不是在脚本里执行的,而是直接在html代码里执行的,例如:
q里XXX是一些特定的东东Q在此列表几个出来,详细介绍各自的含义:
<!--[if IE]> / 如果览器是IE /
<!--[if IE 5]> / 如果览器是IE 5 的版本?
<!--[if IE 6]> / 如果览器是IE 6 的版本?
<!--[if IE 7]> / 如果览器是IE 7 的版本?
上面是几个常用的判断IE览器版本的语法Q下面再来介l一下相Ҏ较少用的逻辑判断的参敎ͼ
有几个参敎ͼlteQltQgteQgtQ?
lte QLess than or equal to
lt QLess than
gte QGreater than or equal to
gt QGreater than
! Q不{于
例如Q?/font>
明白了条件注释的用法Q再举个例子Q可把代码直接放到html代码?看看执行效果^+^Q:
下面一D代码是试在微软的IE览器下的条件注释语句的效果
下面的代码是在非IE览器下q行的条件注?
?
条g注释是在IE5.0/Win以后才被IE支持的,对于IE5以前的浏览器是无效的.