1. 程式人生 > >JS:函式裡的函式

JS:函式裡的函式

題目描述
實現函式 functionFunction,呼叫之後滿足如下條件:
1、返回值為一個函式 f
2、呼叫返回的函式 f,返回值為按照呼叫順序的引數拼接,拼接字元為英文逗號加一個空格,即 ‘, ’
3、所有函式的引數數量為 1,且均為 String 型別
輸入例子:

functionFunction(‘Hello’)(‘world’)

輸出例子:

Hello, world

思路
剛開始看不太懂題目,不知道要怎麼寫。那就一步一步來


function functionFunction(str){
  //既然要返回函式,那麼就要寫一個函式進去咯;用函式表示式,因為要讓他在執行時才被解析
var f=function(s){ //這裡要返回值為按照呼叫順序的引數拼接,拼接字元為英文逗號加一個空格 return str+", "+s;//記得逗號後面加空格啊!!! } //返回函式f return f; }

其他方法
1.

/*看題目要求!!!!
  1.按照呼叫順序的引數拼接,拼接字元為英文逗號加一個空格
  2.所有函式的引數數量為 【 1 】,且均為【 String 型別】
*/
    function functionFunction(str){
     if(typeof str=="string"&&argument.length==1){
     var
f=function(s){ if(typeof s=="string"&&argument.lenght==1){ return str+", "+s; } return f; } } }

2.用join方法

join():把陣列中的所有元素轉換為一個字串:
語法 【array.join(separator)】
引數值 【separator】 可選。指定要使用的分隔符。如果省略該引數,則使用逗號作為分隔符。

function functionFunction(str){
  return function
(s){
return [str,s].join(','); } }