忙里偷闲,简单介绍一下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');
})