javascript-function学习初解1
2015-03-20 17:29
169 查看
每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。函数通常是使用函数生命
语法定义的:
这种函数定义法与:
是相差无几的。
还有一种定义方法、就是使用Function的构造函数,但是一般不推荐这么声明函数
var sum = new Function("num1","num2","return num1+num2");
这种声明函数的方法会影响性能、所以一般不会使用,但是这种声明方式对于理解“函数是对象,函数名是指针”的概念是非常直观的。
由于函数名仅仅是指向函数的指针,因此函数名与包含对象指针的其他变量没有什么不同,也就是一个函数可能有多个名字。
function没有重载(深入理解)
将函数名想象为指针,也有助于理解为什么ECMAScript中没有函数重载的概念。
例如:
显然,这个例子中声明了两个同名函数,而结果则是后面的函数覆盖了前面的函数,以上实际上和下面的代码没有什么区别:
如果有点编程基础就会很容易就可以看出来、这就是一个变量的覆盖。
函数声明与函数表达式
解析器在向执行环境中加载数据时,对函数声明和函数表达式并非一视同仁。解析器会率先读取函数声明,并使其在执行任何代码之前可用(能被访问),而函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解释执行。
而下面这种书写格式就不会正常执行:
这两种函数定义的方式其实除了这一点(即什么时候变量访问函数)之外都是等价的。
语法定义的:
这种函数定义法与:
是相差无几的。
还有一种定义方法、就是使用Function的构造函数,但是一般不推荐这么声明函数
var sum = new Function("num1","num2","return num1+num2");
这种声明函数的方法会影响性能、所以一般不会使用,但是这种声明方式对于理解“函数是对象,函数名是指针”的概念是非常直观的。
由于函数名仅仅是指向函数的指针,因此函数名与包含对象指针的其他变量没有什么不同,也就是一个函数可能有多个名字。
function没有重载(深入理解)
将函数名想象为指针,也有助于理解为什么ECMAScript中没有函数重载的概念。
例如:
显然,这个例子中声明了两个同名函数,而结果则是后面的函数覆盖了前面的函数,以上实际上和下面的代码没有什么区别:
如果有点编程基础就会很容易就可以看出来、这就是一个变量的覆盖。
函数声明与函数表达式
解析器在向执行环境中加载数据时,对函数声明和函数表达式并非一视同仁。解析器会率先读取函数声明,并使其在执行任何代码之前可用(能被访问),而函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解释执行。
而下面这种书写格式就不会正常执行:
这两种函数定义的方式其实除了这一点(即什么时候变量访问函数)之外都是等价的。
相关文章推荐
- JAVASCRIPT基础学习篇(9)--ECMAScript Basic5(EcmaScript Function)
- 学习JavaScript 的必备 (一),让您对js的 function, javascript内置对象,this概念及之间的关系不再迷惑。(希望能置为推荐篇,为更多的js初学者关注)
- Javascript学习笔记-Function
- 每天一篇javascript学习小结(Function对象)
- 每天一篇javascript学习小结(Function对象)
- JavaScript学习笔记 6-循环、数组和函数 Loops , Arrays and Function
- JavaScript学习总结(3)——JavaScript函数(function)
- JavaScript学习笔记之Function对象
- 【javascript】 function.apply 菜鸟学习笔记
- JavaScript学习----Function
- 学习JavaScript 的必备 (一),让您对js的 function, javascript内置对象,this概念及之间的关系不再迷惑。(希望能置为推荐篇,为更多的js初学者关注)
- 模块functionJavaScript学习笔记(二十五) 沙箱模式
- javaScript学习笔记-Function3
- JavaScript学习笔记之Function对象
- JavaScript学习09 函数本质及Function对象深入探索
- Javascript 面向对象学习1 Function function Object
- javaScript学习笔记-Function2
- JavaScript 学习笔记 -- Function
- 【JavaScript】【学习】3、JavaScript中的function类型
- 一步步学习javascript基础篇(3):Object、Function等引用类型