易截截图软件、单文件、免安装、纯绿色、仅160KB

精通JavaScript —— 函数重载和类型检查


其它面向对象的语言如JAVA的一个常见特性是,根据传入的不同数量或类型的,通过重载(overload) 来发挥不同的功用。尽管这个特性在JavaScript中并没有直接支持,也有很多办法能够实现。
函数重载(function overloading)必须依赖两件事情:判断传入参数的数量的能力和判断传入参数类型的能力。
JavaScript的每个函数都带有一个仅在这个函数范围内作用的变量(contextual variable)
称为参数(argument),它是一个包含所有传给参数的伪数组(pesudo-array),所以它并非真正意义上的数组(也就是说你不能修改它,也不能用push来刷新它),但是可以访问其中的元素,它也具有length属性。
例子:JavaScript中函数重载的两个例子
  <script>
function sendMessage(msg,obj){
// 如果消息和对象的参数都被提供
if(arguments.length == 2){
// 给对象发送消息
obj.handleMsg(msg);
}else
alert(msg); // 否则仅显示默认的错误信息
}
sendMessage("hello world!"); // 仅传递一个参数,显示错误的提示信息
// 输出结果为:警示框 hello world
/*又或者我们可以将一个我们自己写好的对象传入,负责用另一套办法显示信息*/
sendMessage("how are you?" , {
handleMsg: function(msg) {
alert("This is a custom message:" + msg);
}
});
// 输出结果为:警示框 This is a custom message how are you?
/*
var obj = new Object();//创建一个新对象并将其存放在obj里 
obj.val = 5;           //将该对象的一些属性设置成不同的值 
obj.click = function(){ 
alert( "hello" ); 
}; 
//下面是等效的代码,使用了{...}式缩写, 
//和定义对象属性的"名称-值"对 
var obj = { 
//用名称-值对设置对象属性 
val: 5, 
click: function(){ 
alert( "hello" ); 

}; 
*/
// 一个接受任意数量参数,并转化为数组的函数
function makeArray() {
var arr 


相关文档:

JavaScript语法集锦


click()    对象.click()    使对象被点击。
closed    对象.closed    对象窗口是否已关闭true/false
clearTimeout(对象) 清除已设置的setTimeout对象
clearInterval(对象) 清除已设置的setInterval对象
confirm("提示信息") 弹出确认框,确 ......

JavaScript 网页背景图片随机化

 单调的网站首页背景看多了不免有写厌烦,如果用户自己每刷新一次页面背景可以更换也许能为这种单调添一丝的新奇。这只需用一个JavaScript方法就可以搞定,通过随机函数在我们的一组图片中随机的选一张作为背景。
下面是JavaScript代码:
view plaincopy to clipboardprint?
<mce:script type="text/javascript" ......

另一种Javascript访问后台方法

原来手动写AJAX的时候,一般都先创建XMLHttpRequest对像的,或者直接用Jquery的方法,这次看到这种动态注册脚本写法,还是蛮奇特的.写下来,记录一下,呵呵!
这是前台Js代码:
 <mce:script type="text/javascript"><!--
var scriptLastID = null;
// 回调方法
function backFunction(type,content){

......

从《JavaScript Dom 编程艺术》看到的

     前几天,在图书馆看了一本书叫《JavaScript Dom 编程艺术》从中尝到很多知识或者称其为方法,由于一直在忙,没有时间写出来分享给大家,今天正好有点时间所以就写出来吧,这本书的作者Jeremy Keith 我以前没有听到过这个人,此书中就一段话是说“无论何时地,都要把‘循序渐进’和 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号