찾다

 >  Q&A  >  본문

javascript - js 배열 루프는 어떻게 쉼표를 출력합니까? . .

제목 그대로에요. . . 이유를 알아보세요

習慣沉默習慣沉默2807일 전812

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

  • PHP中文网

    PHP中文网2017-05-18 10:58:27

    그 이유는 이름이 특별하고 값을 할당할 때 브라우저가 이를 문자열로 변환해야 하기 때문입니다. name特殊,在赋值的时候浏览器强制转成了string。

    var name = [0, 1, 2]
    console.log(name) // 输出 "0,1,2"

    因为window有内置属性name,所以你在全局下声明name其实就是在给window.name赋值。关于window.name。类似的属性还有status

    所以你用name1 으아아아

    window에는 name 속성이 내장되어 있으므로 name을 전역적으로 선언하면 실제로 window.name에 값을 할당하게 됩니다. window.name 정보. 유사한 속성에는 상태 등이 포함됩니다. 🎜 🎜그래서 name1을 사용하면 문제가 없습니다. 실제로 비전역 환경에서 이름을 사용하거나 노드의 글로벌 환경에서 이름을 사용하는 경우에는 쉼표가 없습니다. 🎜

    회신하다
    0
  • 为情所困

    为情所困2017-05-18 10:58:27

    Friends, name은 키워드입니다. 변수 이름을 지정하는 데 이것을 사용하지 마세요.
    typeof를 입력하면 name은 string이고 name1은 object

    라는 것을 알 수 있습니다.

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-18 10:58:27

    범위가 전역이므로 정의한 name 변수는 window.name과 동일합니다.
    이것은 특수 전역 변수이며 이에 할당된 모든 값은 다음을 수행합니다. toString 연산
    여기서 window.name에 배열을 지정하면 실제로 출력할 수 있으며 배열이 아니라 문자열임을 알 수 있습니다. br>그리고 그것은 정확히 문자열입니다. 루프를 사용하여 문자열을 탐색할 수 있으므로 쉼표가 출력됩니다name 变量相当于 window.name
    它是一个特殊的全局变量 任何值赋值给它都会进行 toString 操作
    这里你将数组给 window.name 实际你可以输出看一下会发现它并不是数组而是字符串
    而恰好字符串是可以用循环遍历的 所以输出了逗号

    var name = [0, 1, 2]
    console.log(name) // 0,1,2
    console.log(typeof name === 'string') // true

    解决方法:不使用全局作用域 加一层自执行函数

    (function() {
      var name = [0, 1, 2]
      console.log(name) // [0, 1, 2]
      console.log(Object.prototype.toString.call(name)) // [object Array]
    })()

    或者使用 ES6let 으아아아

    해결책: 전역 범위를 사용하지 말고 자체 실행 기능 레이어를 추가하세요🎜 으아아아 🎜또는 ES6let 키워드를 사용하여 변수를 정의하세요🎜

    회신하다
    0
  • 仅有的幸福

    仅有的幸福2017-05-18 10:58:27

    콘솔에 직접 출력하면 배열이 문자열로 처리되기 때문입니다

    회신하다
    0
  • ringa_lee

    ringa_lee2017-05-18 10:58:27

    해봤는데 변수 이름에 문제가 있는 것 같습니다. 이름이면 모든 문자가 출력됩니다. 구체적인 이유는 알 수 없습니다

    회신하다
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-18 10:58:27

    name은 js의 속성 이름이고 예약된 필드이기 때문에 for in이 이 필드를 반복하면 문자열로 처리되므로 문자열의 모든 문자가 출력됩니다

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