推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
imn1

一个坑,坑了半天时间

  •  
  •   imn1 · Apr 5, 2017 · 3686 views
    This topic created in 3350 days ago, the information mentioned may be changed or developed.
    firefox 写个 UC 脚本方便阅读车牌
    for (i in list) {
    for (j in nodes) { }
    }

    i 总是只跑一遍就结束,第二个值开始总是无效
    然后研究了半天
    改成
    for (j=0; j<nodes.length; j++) 就跑通了
    但是刚开始时改 i 不改 j 也不通,坑我忽略了要改内循环这点
    14 replies    2017-04-06 12:42:51 +08:00
    noe132
        1
    noe132  
       Apr 5, 2017
    不知所云
    dianliang01
        2
    dianliang01  
       Apr 5, 2017
    没明白
    imn1
        3
    imn1  
    OP
       Apr 5, 2017
    @noe132
    @dianliang01
    1.内、外循环都用 for...in ,跑不通
    2.外循环 for.. 内循环 for...in ,也跑不通
    3.外循环 for..in 内循环 for...,可以跑通

    开始时按 2 改了,不通,就以为不是循环问题,去测试其他语句问题了,没想到几个小时后改成 3 ,就通了……
    loy6491
        4
    loy6491  
       Apr 5, 2017
    for...in 本来就不出处理数组的,你自己乱写怪谁..
    tieshu
        5
    tieshu  
       Apr 5, 2017
    for of
    vghdjgh
        6
    vghdjgh  
       Apr 5, 2017
    处理数组用 for...of ,处理 object 用 for...in ,不要乱用,会坑死自己的。
    imn1
        7
    imn1  
    OP
       Apr 5, 2017
    @loy6491
    @vghdjgh
    非职业水平,脚本只写给自己用的,多多包容

    之前都想过这个, list 是 json 的列表, nodes 是 getElements ,查错时用 typeof 看过两个都是 obj
    sun522198558
        8
    sun522198558  
       Apr 5, 2017
    可怕的头像
    Eoss
        9
    Eoss  
       Apr 5, 2017 via iPhone
    @imn1 typeof [] 试试。不要太相信 typeof 。
    shmilypeter
        10
    shmilypeter  
       Apr 5, 2017
    想要写点什么才发现 V2EX 连个富文本编辑器,连 syntax highlighter 都没有
    Phariel
        11
    Phariel  
       Apr 6, 2017
    @imn1 #7 请使用 instanceof
    Martox
        12
    Martox  
       Apr 6, 2017 via Android
    @imn1 请用 Object.prototype.toString.call()方法来判断。
    xman99
        13
    xman99  
       Apr 6, 2017
    phper 路过, 楼上说的有点高级, 我们一般只用 each 和 普通 for
    chuxiaonan
        14
    chuxiaonan  
       Apr 6, 2017
    通过 DOM API 得到的一般是个 NodeList ,提供了一个 forEach 方法可以用来迭代
    ```javascript
    document.querySelectorAll(...).forEach(callback)
    ```
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1019 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 23:03 · PVG 07:03 · LAX 16:03 · JFK 19:03
    ♥ Do have faith in what you're doing.