javaScript中的Function对象的说明
关键字: web/javaScript很多人都不理解javaScript 中的Function是什么,与function 又有什么区别
简单的说呢 function 是函数,而Function是类
在javaScript 我们声明一个函数,实际上是创建了一个 Function 类的对象。
例如:
这是一个最简单的函数,参数为name,然后在参数前加上"Hello ",输出 通过这种形式,我们可以很清楚的看出所谓的函数只不过是Function类的一个对象 因为函数名只不过是对象名,所以可以可以把函数名作为参数传递,如下: ok,看到了,你完全可以把函数名当一个变量名来使用,因为它就是一个变量名。 这样 sayHello 和 sayBye 所指向的就是同一个函数,也就是说他们指向同一个Function类的实例。 Function类,对于我们实际编程来说,很少使用到,但是理解它,有助于我们对于javaScript中函数的理解。 Ok,既然函数只是Function类的一个对象,一个实例,所以自然地,它就会有方法和属性。 现在我们应该清楚,函数名就是变量名。
同样,我们也可以这样声明函数
var sayHello = new Function("name","alert('Hello '+name)");
在这种形式中,第一个参数是sayHello 函数的参数,第二个参数是sayHello 函数的函数体
而函数名只不过是对这个对象的引用。可以简单的把函数名理解成为一个指针,指向所引用的
Function 类的实例。
你也可以这么使用
属性:length--代表函数定义的形参个数,prototype--原型属性,相信这是大家都非常熟悉的一个属性,可以用它来实现构造类,还有arguments,constructor,callee,caller等
方法:valueOf(),toString() --这两个方法返回的都是函数的源代码,apply(),call() 这两个方法大同小异,区别就是参数不同。
发表评论
- 浏览: 9121 次

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
ajax jsp 无刷新上传文件
加进度条就要修改后台处理文件的部分,上传进行中接收到查询请求返回当前进度。挺麻烦 ...
-- by s79 -
ajax jsp 无刷新上传文件
为什么 不加上一个 进度条呢? 其不是更好呢?
-- by wangjian3q -
ajax jsp 无刷新上传文件
<Iframe></Iframe>用得好!!!
-- by dxai -
javaScript 中 call 函数 ...
有道理。按照hax的说法,感觉js的方法调用,和python的实例方法调用一样, ...
-- by 笨笨狗 -
javaScript 中 call 函数 ...
楼主不要引用jscript文档来说“官方”,官方你要么拿netscape的文档, ...
-- by hax






评论排行榜