首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

散分,javascript 函数一些特性,该如何处理

2012-01-15 
散分,javascript 函数一些特性这里只记录下javascript函数的一些特性。关于对象,模拟类会在以后的笔记中记

散分,javascript 函数一些特性
这里只记录下javascript函数的一些特性。关于对象,模拟类会在以后的笔记中记录

1.javascript函数无重载。

js不支持重载,后面函数会覆盖前面函数。它不支持重载的特点不免让人感到意外。

2.arguments对象

js不支持重载,不代表我们不能实现重载。程序员的智慧是无穷的!让我们借助arguments对

象来实现函数重载吧!arguments.length表示参数个数

function sayHi(){ 
  if(arguments.length == 1){
  if(typeof(arguments[0])=="string"){
  alert("do method 1");
  }else{
  alert("do method 2");
  }
  }else if(arguments.length == 2){
  alert("do method 3");
  }
}

sayHi("hehe");
sayHi(1);
sayHi("傻笑",100)

3.Function 类

可以使用Function类直接创建函数:
var function_name = new Function(arg1,arg2,...argN,function_body);

例如:
var sayHi = new Function("sName","sMessage","alert(sName+','+sMessage);");
sayHi("wangping","ww");

注意:最好不要使用Function类创建函数,因为----慢!

4.由于函数名只是指向函数的变量,所以可以把函数作为参数传递给另外一个参数。

function callFun1(fnFun1,vArg){
  fnFun1(vArg);
}

function doAdd(iNum){
  alert(iNum+10);
}
callFun1(doAdd,10);

5.由于函数是引用类型,所以它们也有属性和方法名。

function_name.length 返回函数名为function_name的函数的参数个数。
function_name.toString() 返回函数名为function_name的函数的源代码(这个调试的时候

很有用)。
function_name.valueOf() 同function_name.toString()

代码:
function doAdd(){
  alert(10);
}
alert(doAdd.valueOf());

6.闭包。闭包是javascript最容易让人误解的特点之一。所谓闭包,指词法表示包括不必计算

的变量的函数,通俗地说就是指函数能访问函数外定义的变量:

var iBaseNum =10;

function outerFun(iNum1,iNum2){
  function innerFun(){
 alert(iNum1+iNum2+iBaseNum)
  }
  return innerFun();
}

outerFun(1,1);

innerFun可以无需定义参数,得到它外部的函数iNum1,iNum2的参数值以及全局变量iBaseNum

的值。虽然难于想像,但是当你被c#等语言为了互相调用而不停地定义参数搞得抓狂时,你就

看到闭包的好处了。


[解决办法]
支持LZ
[解决办法]
接分
[解决办法]
学习了。。。。
[解决办法]
来接分了
[解决办法]
接分拉。
[解决办法]
接点分.
[解决办法]
接分,学习
2.arguments对象 很有启发


[解决办法]
接分啦
[解决办法]
學習,接分
[解决办法]
接分啦
[解决办法]
帮顶了
[解决办法]
js
[解决办法]
JF。。。。
汗。。
回答别人的问题还会少专家分。。。。。。
[解决办法]

[解决办法]
受益匪浅!~~
[解决办法]
边学习边接分
------解决方案--------------------


5.由于函数是引用类型,所以它们也有属性和方法名。 

function_name.length 返回函数名为function_name的函数的参数个数。 
function_name.toString() 返回函数名为function_name的函数的源代码(这个调试的时候 

很有用)。 

这个好!!!
[解决办法]
帮顶了

热点排行