文章来自:http://hi.baidu.com/523399/blog/item/f36e2e9b25041fbdc9eaf4c6.html
学过C语言的人都知道,printf的参数是不固定的,这种参数形式叫做变长参数。带有变长参数的函数必须是cdecl调用约定,由函数的调用者来清除栈,参数入栈的顺序是从右到左。printf是根据格式化串中的占位标记来猜测栈中的参数的。以下就用Delphi模拟一个简单的类似printf的函数sprintf。
type
VA_FN = function(const par1, par2{, ...}: Pointer): Integer; cdecl varargs;
procedure CvtInt;
{ IN:
EAX: The integer value to be converted to text
ESI: Ptr to the right-hand side of the output buffer: LEA ESI, StrBuf[16]
ECX: Base for conversion: 0 for signed decimal, 10 or 16 for unsigned
EDX: Precision: zero padded minimum field width
OUT:
ESI: Ptr to start of converted text (not start of buffer)
&nb ......
JavaScript中的JSON
作者:Douglas Crockford
原文网址:http://www.json.org/js.html
译者:可爱的猴子
JavaScript这种编程语言首要的目的是为Netscape Navigator提供一种页面脚本语言。它仍被普遍的认为是Java的一个子集,但事实并非如此。它是一种语法类似c语言并且支持面向对象的Scheme-like语言。JavaScript使用了ECMAScript语言规范第三版进行了标准化。
JSON是JavaScript面向对象语法的一个子集。由于JSON是JavaScript的一个子集,因此它可清晰的运用于此语言中。
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};
上面的示例,创建了一个包括单独成员”bindings”的对象,此成员包括一个含有三个对象(”ircEvent”, “method”, 与 “regex”)的数组
成员可以通过.或者下标操作符检索。
myJSONObject.bindings[0].method // "newURI"
为了将JSON文本转换为 ......
六.事件
(一)、事件流
1.冒泡型事件
2.捕获型事件
(二)、事件监听
1.IE和Firefox简单的通用方法:(只能添加单一事件)
例如:
windows.onload = function(){
var oP = document.getElementById("myP");
oP.onclick = function(){
alert("我被点击了");
}
}
2.IE中的事件监听
例如:
function fnClick(){
alert("我被点击了");
oP.detachEvent("onclick",fnClick);
}
var oP;
window.onload = function(){
oP = document.getElementById("myP");
oP.attacheEvent("onclick",fnClick);
}
3.标准DOM的事件监听(firefox)
function fnClick1(){
alert("我被fnClick1点击");
oP.removeEventListener("click",fnClick2,false);
}
function fnClick2(){
alert("我被fnClick2点击");
}
var oP;
window.onload = function(){
oP = document.getElementById("myP");
oP.addEventListener("click",fnClick1,false);
oP.addEventListener("click",fnClick2,false);
}
(三)、事件对象
1.兼容两种浏览器:
oP.onclick = function(oEvent){
......
<script language="javascript">
//Author :东阁
//Date:2008-1-11
//目的: 练习数组的基本操作
/*
由于javascript是一种无类型语言,所以一个数组的元素可以具有任意的数据类型,同一个数组的不同元素
可以具有不同的类型,数组的元素设置可以包含其他数组,这样就可以创建一个复杂的数组了.
并且在这点上说javascript作为一种脚本语言不同于那种严格的面向对象的c++.c#,java了.具有更高的灵活性.
*/
/*
*在javascript1.1和其后的版本中,数组是用构造函数Array()和运算符new来创建,
可用以下的三种方式来创建javascript 中的数组.
*/
var a=new Array();
var b=new Array(5,4,3,"first","test,string");
var c=new Array(20);
a[1.23]="test";
document.write("a[1.23]="+a[1.23]);
//相信每位从强类型的编程语言学习javascript时,绝对会以为上面这种操作感到惊讶,
//float数据也作数组的下标了,事实上 &nbs ......
前台代码:
<asp:TextBox ID="txtExpression" runat="server" MaxLength="400" CssClass="TextBox400"
ontentEditable="false" />
<br />
<asp:Label ID="lblAvaliableColumns" runat="server"></asp:Label>
<asp:DropDownList ID="ddlFields" runat="server" CssClass="DropDownList200">
</asp:DropDownList>
<asp:ImageButton ID="ibnAddField" runat="server" ImageUrl="~/Images/add.png" />
前台代码比较简单,就一个文本框和下拉列表框,还有一个按钮,点击后将下拉列表框的选项插入到文本框中。
后台代码:
/// <summary>
/// PreRender event handler
/// </summary>
/// <param name="e"></param>
protected override void OnPreRender(EventArgs e)
{
  ......
看过很多后,本人觉得jQuery scrollable
在其中算很优秀的。
以下转自:http://paranimage.com/8-kinds-of-transition-effects-javascript/
8种JavaScript
过渡特效
, 涵盖淡入淡出、翻转特效、滑动、缩放和飞入飞出
等炫目的Javascript特效。
1. Image Transitions
(演示地址
)
Image Transitions是一个多张图片轮换工具。提供多种轮换效果包括:淡入淡出,左右滑动,收缩等。
2. Jquery Fade In.Fade Out
(演示地址
)
这是一个用于让图片产生淡入淡出效果的jQuery插件。
3. ImageSwitch
(演示地址
)
ImageSwitch是一个易于使用的jQuery插件用于在多张图片之间切换时添加一些切换特效。这些特效包括:淡入淡出,卷入卷出,飞入飞出,Flip out等。
4. simplyScroll
simplyScroll这个jQuery插件能够让任意一组元素产生滚动动画效果,可以是自动、手动滚动,水平、垂直方向滚动。此外,它还可以接受动态图片输入通过Flickr供稿或一个本地JSON数据源。
5. jQuery Simple Transition
(演示地址
)
jQuery Simple Transition是一个轻量级的jQuery插件,可以帮助你在多张不同的图片之间实现各种不同的切换效果。比如:放大/缩小,淡入/淡出,上下翻滚。 ......