您的位置:首页 > Web前端 > JavaScript

【JavaScript】【学习】3、JavaScript中的function类型

2015-09-24 18:26 501 查看
在JavaScript中,函数其实是对象

函数名其实是指向一个函数对象的指针=>将函数名赋值为null,函数依然存在
=>使用布袋括号的函数名是访问函数指针,而不是调用函数
1,函数不会重载,声明两个同名函数,后者会覆盖前者

2,函数声明与函数表达式

函数的两种声明方式:

function functionName() {do something}

var functionName = new function(){do something};

两种方式的区别在于在后者之前使用alert(functionName)会导致报错。

3,作为值的函数

可以将函数名作为普通的变量,函数名既可以作为参数传递给另一个函数,也可以由 一个函数返回一个函数。

4,函数的内部属性

函数有2个内部对象:arguments 和this。arguments是一个参数数组,拥有一个

callee属性,指向拥有此arguments的函数。this代表函数据以执行的环境对象。

alert(arguments.callee) //返回函数的代码

alert(this) //返回Object Window

alert(this.caller) //返回Undefined

函数的caller属性:返回调用当前函数的函数。

5,函数的属性和方法:

length:返回函数的参数个数

prototype:返回对象类型原型的引用

apply():在特定的作用域中调用函数。接受2个参数,作用域和参数数组
call():在特定作用域中调用函数,接受若干个参数,第一个参数为作用域,其它的参数是
传递给调用函数的参数

可以使用call(widow)或apply(window)来将函数的作用域扩充到全体

bind():创建一个函数实例,bind()的参数为该实例函数的作用域。

toLocaleString()和toString():返回函数的源代码

function fun1(){
alert("good");
}
var newf = fun1.bind();
alert(fun1);      //返回函数的源代码
newf();           //good
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JavaScript