• 方法也是对象

这个事需要反复强调。方法是 类型 Function 的对象,和其他对象一样,它也有方法。

function gen() {
return function ans(factor) {
return 2 * factor;
};
}

如果看着混乱,可以使用变量看看

function gen() {
var f = function ans(factor) {
return 2 * factor;
};
return f;
}

或者这样

function gen() {
function ans(factor) {
return 2 * factor;
};
return ans;
}
  • 方法的命名方式

试想你定义下面一个方法

function f(factor) {
return 2 * factor;
}

和下面这个是一样的

var f = function (factor) {
return * factor;
}; f(2);
  • 方式不支持多态

你不能定义两个名字一样的方法,寄希望使用不同参数来区分。后面定义的方法会覆盖前面的方法。

function ans(f1, f2) { ... }

function ans(f1) { ... } // 这个会替代前面的方法.

需要注意的是所有的参数都不是必须的

function ans(a, b) {
//...
}
ans(2); //ans 被调用时 a = 2, and b = undefined
  • 函数返回

在方法定义中你可以返回任意值或不返回

function () {
if (cond1) {
// 返回一个对象t
return {
a: 10
};
} else if (cond2) {
// 返回 undefined
return;
} else if (cond3) {
// 返回一个数字.
return 1;
}
}

 

最新文章

  1. 【Alpha版本】冲刺-Day7
  2. SQL升级脚本实现按版本差异化升级
  3. 网页爬虫--scrapy进阶
  4. lintcode:最大子正方形
  5. Text Kit进阶
  6. MySql中的事务嵌套
  7. 反射+自定义注解---实现Excel数据列属性和JavaBean属性的自动映射
  8. css属性详解
  9. ASC学习笔记
  10. ●POJ 3378 Crazy Thairs
  11. HTML&CSS_基础04
  12. 【Windows】+ win10 通过KMS激活
  13. [solution] JZOJ-5458 质数
  14. netty实现多个handler顺序调用
  15. C++中类的静态成员与实例成员的区别
  16. RSA算法知识
  17. Windows环境下,将Django部署到Apache Web Server
  18. WEB安全第四篇--与数据库的亲密接触:SQL注入攻击
  19. 开源数据库 H2, HSQLDB, DERBY, PostgreSQL, MySQL区别/对比图表( 附加翻译) h2数据库
  20. oracle 中 Start with...connect by 的用法(递归查询)

热门文章

  1. 爬虫之MongoDB
  2. 命令——WPF学习之深入浅出
  3. hdu 2147 kiki's game(找规律)
  4. PCA算法详解——本质上就是投影后使得数据尽可能分散(方差最大),PCA可以被定义为数据在低维线性空间上的正交投影,这个线性空间被称为主⼦空间(principal subspace),使得投影数据的⽅差被最⼤化(Hotelling, 1933),即最大方差理论。
  5. LSM树——LSM 将B+树等结构昂贵的随机IO变的更快,而代价就是读操作要处理大量的索引文件(sstable)而不是一个,另外还是一些IO被合并操作消耗。
  6. linux 下sed命令
  7. java学习笔记 --- 多线程(多线程的创建方式)
  8. js1
  9. C# 代码注释和Config文件中,特殊符号的书写方法。
  10. Mesos-slave启动处理记录