博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript Patterns--读书笔记4 (Functions)
阅读量:4470 次
发布时间:2019-06-08

本文共 938 字,大约阅读时间需要 3 分钟。

Functions是JavaScript中一非常重要的一部分,主要体现在两方面:一是first-class objects,二是它会提供运行的scope.

named function expression:

var add = function add(a,b){  return a+b;}

anonymous function:

var add = function (a,b) {  return a + b;};

这两者完成的功能是一样的,但有什么区别呢:

区别就在于,当我们试图去取function.name的时候,named function expression将会得到add,而anonymous function将不会得到,那么这个name属性有什么用呢?一是对于一些调试工具,如firebug可以准确的报出那个函数的一些信息,二是在自身调用的时候也是非常有用的。

Function's name propety:

name属性尽管不是一个标准属性,但是许多环境都实现了它,对于命名函数,我们可以通过它得到名字,而对于匿名函数,在IE中将会得到undefined,而在FF中将会得到empty string

看如下代码:

function foo() {} //declarationvar bar = function() {};//expressionvar baz = function baz() {}; //named expressionfoo.name;//"foo"bar.name;//"" IE将显示为undefinedbaz.name;//"baz"

Callback Pattern

funcitons是object,所以我们可以像传一个参数那样的把一个object传给另一个函数.

如果我们需要定义函数的执行环境,我们可以用apply, this

Immediate function Pattern

 用它的一个好处是可以不污染global环境,因为我们在其中定义的都是local变量.

转载于:https://www.cnblogs.com/moonreplace/archive/2012/09/17/2689770.html

你可能感兴趣的文章
PHPExcel yii2 加载使用
查看>>
关于【无法创建链接服务器 "(null)" 的 OLE DB 访问接口
查看>>
ubuntu mysql 远程连接问题解决方法
查看>>
人见人爱a+b,算出两个时间的和
查看>>
P3456 [POI2007]GRZ-Ridges and Valleys
查看>>
CF1012B Chemical table
查看>>
Chapter 01-Restriicting Data Using The SQL SELECT Statemnt-01
查看>>
JS——Cookie
查看>>
CTF<密码学> writeup 传统知识+古典密码
查看>>
Qt5 信号重载
查看>>
gridview使用技巧
查看>>
Archlinux下给T43添加Win键(Super键)
查看>>
MongoDB学习笔记——聚合操作之MapReduce
查看>>
STM32 F4 General-purpose Timers for Periodic Interrupts
查看>>
LInux命令笔记
查看>>
没有main方法真的不能执行代码了吗?
查看>>
超链接样式设定
查看>>
团队冲刺第一天
查看>>
logistic回归
查看>>
读高质量C++编程指南总结1
查看>>