忙里偷闲,简单介绍一下Javascript中匿名函数和闭包函数以及面向对象编程。首先简单介绍一下Javascript中的密名函数。
在Javascript中函数有以下3中定义方式:
1.最常用的定义方式:
function functionVal(variable){ return 3*variable; }
2.使用Function构造函数,将函数的参数和函数体内容作为字符串参数[不建议使用]:
var objFunction=new Function('variable','return 3*variable');
3. 第3中定义方式
var functionVal=function(variable){ return 3*variable; }
第3中方式"="右边是个匿名的函数,定义完成之后将函数对象赋值给"="左边的变量。
以上提到了匿名函数,接下来熟悉一下匿名函数的作用:
匿名函数的最大作用就是可以创建闭包和命名空间,匿名函数的这两大特性决定着可以很好的使用function来实现Javascript面向对象的编程,如下代码演示如何使用匿名函数来实现私有成员和共有成员:
(function($){ var privateVal='This is a global private static variable'; /// /// Global private menthod /// function privateFunction(varibale){ alert('This is a global private function') } $.nameSpace=function(){ alert('This is a new name space'); }; $.nameSpace.publicFunction(variable){ alert('This is a public function'); } }(jQuery))
与以上匿名函数定义很类似的一种Javascript使用方法如下:
$(function(){ alert('A new method call document ready function'); })
该方法等同于:
$(document).ready(function (){ alert('A method call document ready function'); })