【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():返回函数的源代码
函数名其实是指向一个函数对象的指针=>将函数名赋值为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
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- IE8开发人员工具教程(二)
- 在flex中执行一个javascript方法的简单方式
- Flex结合JavaScript读取本地路径的方法
- PowerShell中执行Javascript的方法示例
- javascript asp教程第六课-- response方法
- javascript asp教程More About Recordsets
- javascript asp教程第十二课---session对象