>  Q&A  >  본문

javascript - [,null]의 사용법은 무엇입니까

URL 값을 가져오는 데 다음 함수가 사용되는 것을 확인하세요.

으아아아

근데 여기서는 [,null]이라는 표현이 뭔지 모르겠어요.

过去多啦不再A梦过去多啦不再A梦2672일 전1037

모든 응답(4)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-06-26 11:00:11

    이 함수의 목적은 URL http://www.xxx.com/index.html?key=hello&value=world*,此时的location.search等于?key=hello&value=world。比如要获取key的值("hello"),调用getURLParameter("key")과 같은 URI의 특정 매개변수 값을 가져오는 것입니다.

    exec의 구문은 다음과 같습니다:

    일치하는 경우 반환 결과는 배열입니다. 배열의 첫 번째 요소는 일치하는 하위 문자열이고 후속 요소는 캡처링 괄호의 내용입니다. 정규식에서 볼 수 있듯이 우리에게 필요한 결과는 다음과 같습니다. 번째 캡처 괄호 의 내용은 배열의 두 번째 요소 이므로 [1];

    가 사용됩니다.

    예를 들어 URL이 여전히 위의 URL이라고 가정하면 getURLParameter("key")를 호출하고 일치하는 결과는 ["key=hello&", "hello", "& "] , "key=hello&"는 일치하는 하위 문자열이고, "hello"는 첫 번째 캡처 괄호의 내용이고, "&"< /code>는 두 번째 캡처링 괄호의 내용입니다. ["key=hello&", "hello", "&"] || [,null] 결과는 물론 이전 항목인 ["key=hello&", " hello ", "&"]를 입력하고 getURLParameter("key"),匹配的结果是["key=hello&", "hello", "&"]"key=hello&"是匹配的子串,"hello"是第一个捕获型括号的内容,"&"是第二个捕获型括号的内容。["key=hello&", "hello", "&"] || [,null]的结果当然是前一项,也就是["key=hello&", "hello", "&"], 然后取[1],整个函数的返回值就是"hello"를 취하면 전체 함수의 반환 값은 "hello"입니다.

    그러나 getURLParameter("time")을 호출하면 매칭이 실패하므로 결과는 null이 됩니다. 이때 getURLParameter("time"),匹配失败,所以结果是null,此时如果你调用[1]就会报错。[,null]表示[undefined, null],当匹配失败的时候,就变成了null || [undefined, null]这个结果是[undefined, null],此时再[1]就不会报错了,此时整个函数返回的是null를 호출하면 오류가 보고됩니다. [,null][정의되지 않음, null]을 의미합니다. 일치에 실패하면 null || [정의되지 않음, null] 이 때 오류는 보고되지 않으며 전체 함수는 null을 반환합니다.

    getURLParameter 함수를 호출한 후 반환 값이 null인지 판단할 수 있습니다. null이면 해당 매개 변수가 URL에 없다는 뜻이고, null이 아니면 반환 값은 필수 매개 변수 값입니다.

    회신하다
    0
  • 代言

    代言2017-06-26 11:00:11

    게으른 접근 방식,
    (name + '=' + '(.+?)(&|$)').exec(location.search)일치에 성공한 경우. 결과는 null이 아닙니다. (.+?)는 일반 일치 값 [1]입니다. 일치가 실패하면 exec는 null을 반환합니다. (name + '=' + '(.+?)(&|$)').exec(location.search)如果匹配成功。结果不会null。(.+?)就是正则匹配的值[1]。而如果匹配失败,exec返回null。
    [,null]第一个值为undefined,这个操作只是统一了返回值为null,关键还是最后面的[1]导致的
    如果后面的是[0],那[,null]可以改写为[null][,null]첫 번째 값은 정의되지 않음입니다. 이 작업은 반환 값만 null로 통합합니다. 키는 마지막 [1]입니다. 원인

    뒤에 나오는 내용이 [0]이면 [,null][null]로 다시 쓸 수 있습니다🎜

    회신하다
    0
  • 阿神

    阿神2017-06-26 11:00:11

    [,null][1] null이 아닌가요? 이전 항목이 일치하지 않으면 null이 반환됩니다

    회신하다
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-26 11:00:11

    이것과 같습니다

    으아악

    그러나 이전 섹션(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search))에서 매개변수 값을 얻지 못한 경우 오류가 보고됩니다. [1]을 직접 가져옵니다. 따라서 끝에 [,null]을 추가하는 것은 [undefine, null]과 동일하며, 끝에 [1]을 사용하면 URL 매개변수 때문에 배열 범위를 벗어난 오류가 발생하지 않도록 할 수 있습니다. 얻을 수 없습니다

    회신하다
    0
  • 취소회신하다