JavaScript中function的详细理解(附代码)


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

/*

判断对象是否是一个空对象

@param obj {Object}

@return {boolean}

*/

function isEmpty(obj) {

 for (var a in obj) {

return false

}

 return true

}

// 定义一个模块

~function() {

 // 辅助函数

 function now() {

return (new Date).getTime()

}

 // 模块逻辑...

}();

// 采用CommonJS规范的方式定义一个模块

define(require, exports, moduel) {

 // 辅助函数

 function now() {

return (new Date).getTime()

}

 // 模块逻辑...

})

isEmpty 作为一个全局函数存在,模块定义里面的 now 则作为局部函数存在,无论 isEmpty 还是 now 这里的 function 都指函数,它不依赖与对象和类,可以独立被调用。
语义4:匿名函数定义模块

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

// 全局命名空间

var RUI = {}

// ajax.js

~function(R) {

 // 辅助函数...

 ajax = {

request: function() {

  // ...

}

getJSON: function() {

  // ...

}

...

}

 // 暴露出模块给 R

 R.ajax = ajax

}(RUI);

// event.js

~function(R) {

 // 辅助函数...

 // 事件模块定义...

 // 暴露出模块给 R

 R.event = event

}(RUI);

// dom.js

~function(R) {

 // 辅助函数...

 // DON模块定义...

 // 暴露出模块给 R

 R.dom = dom

}(RUI);

这里的匿名函数执行后把API对象暴露给了RUI,无论匿名函数内干了多少活,对应匿名函数外是看不到的,也是没有必要去理会的。最终关心的是公开的 API 方法,只要了解这些方法的参数及意义就可以马上使用它了。

语义5:匿名函数处理某些特殊效果如处理一些数据又不想暴露过多的变量

1

2

3

4

5

6

7

8

9

10

11

// 判断IE版本的hack方式

var IEVersion = function() {

 var undef, v =

 var p = document.createElement('p')

 var all = p.getElementsByTagName('i')

 while (

p.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',

all[]

);

 return v > ? v : undef

}();

最终只要一个结果 IEVersion,匿名函数内部用到了一些局部变量全部可以隔离开。这种方式对于一些临时性的数据加工非常有效,紧凑。【相关推荐:JavaScript视频教程】

以上就是JavaScript中function的详细理解(附代码)的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

javascript $用法有哪些

javascript最初是为了实现什么

详解css和js动画底层原理及如何优化它们的性能

javascript怎么实现按钮点击进行跳转

javascript怎么实现点击按钮跳转页面

javascript有多少种输出

如何处理javascript内存泄露

javascript专题之七:类型转换

javascript怎么修改div内容

javascript设置编码的方法有哪些

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...