Blog

Yoki


  • 首页

  • 归档

  • 搜索

add(1)(2)(3)解题思路

发表于 2017-02-08

投机解法

当时第一眼看到这个题目的时候,第一反应就是函数里返回一个新的函数

  • 一个不灵活的解决方案,不具备拓展性
1
2
3
4
5
6
7
8
function add(a) {
return function(b) {
return function(c) {
return a + b + c;
};
};
}
add(1)(2)(3)=6

正确解法

  • 函数最终的和要保存一个闭包当中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function add(a) {
//sum保存于闭包之中
let sum = a;
let tmp = function(b) {
sum = +b;
//返回自己方便日后调用
return tmp;
};
//如果到这里什么都不写,那么console.log(add(1)(2)(3))是add这个函数的定义
//console.log有些情况下会调用toString和valueOf方法,所以我们重写这个方法
tmp.valueOf = tmp.toString = function() {
return sum;
};
return tmp;
}

Hello World

发表于 2017-01-15

在程序的世界里,开始的话就循例来一个 hello world

一级标题

在文字前面加上#表示标题

标题一共有六级(6 个#号)

在#后面加上空格,才是标准的 md 语法

列表

在文字前面加上-

  • 列表 1
  • 列表 2

引用

在文字前面加上>

图片与链接

插入链接与图片的语法的区别在于一个!号;

1
2
> 图片为:![](relative address);
> 链接为:[]();

粗体

两个**包含一段文本就是粗体

粗体

表格

1
2
3
4
5
| Tables        | Are           | Cool  |
| ------------- |:-------------:| -----:|
| col 3 is | right-aligned | $1600 |
| col 2 is | centered | $12 |
| zebra stripes | are neat | $1 |
Tables Are Cool
col 3 is right-aligned $1600
col 2 is centered $12
zebra stripes are neat $1

代码框

用三个` 把中间的代码包裹,在第一段点之后加语言名可以显示代码高亮

1
console.log(12);

分割线

分割线的语法为三个-


1…89
Yoki

Yoki

云在青天水在瓶

82 日志
21 标签
© 2019 Yoki
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4