lv3JavaScript함수 이름목록으로

가려진 이름은 무엇일까요?

코드가 하는 일을 읽고, 가려진 빈칸에 직접 이름을 지어 넣으세요. 빈칸 폭이 원본 이름의 글자 수입니다.

utils.jslib
1function  (str) {
2  var length = str.length;
3  var colonIndex = str.indexOf(';');
4  var index = colonIndex === -1 ? length : colonIndex;
5  var ret = { value: str.slice(0, index).trim(), quality: 1, params: {} };
6  
7  while (index < length) {
8    var splitIndex = str.indexOf('=', index);
9    if (splitIndex === -1) break;
10    
11    var colonIndex = str.indexOf(';', index);
12    var endIndex = colonIndex === -1 ? length : colonIndex;
13    
14    if (splitIndex > endIndex) {
15      index = str.lastIndexOf(';', splitIndex - 1) + 1;
16      continue;
17    }
18    
19    var key = str.slice(index, splitIndex).trim();
20    var value = str.slice(splitIndex + 1, endIndex).trim();
21    
22    if (key === 'q') {
23      ret.quality = parseFloat(value);
24    } else {
25      ret.params[key] = value;
26    }
27    
28    index = endIndex + 1;
29  }
30  
31  return ret;
32}