break用法

    xiaoxiao2021-03-25  145

    break只能用于循环与switch语句中,不能用在其他方面。本人曾经在undersocre 中的_.each中用break语句,发现不起作用。这是一个类似于封装jquery中each 的一个小案例--查找数组中某个值第一次出现的下标。如下为错误代码

    <script> var array=[1,29,3,45,23,5,9]; var index=-1; function each(arr, fn){ for(var i=0;i<arr.length;i++){ fn(i); } }; each(array,function f(i){ if(array[i]==23){ index=i; break;//此处在编辑器中会自动报错。 } }); console.log(index); </script> 如下代码为经过修改后的代码, <script> var array=[1,29,3,45,23,5,9]; var index=-1; function each(arr, fn) for(var i=0;i<arr.length;i++){ var result= fn(i); if(result===false){ break; } } each(array,function f(i){ if(array[i]==23){ index=i; return false; } }); console.log(index); </script>

    如下代码为按照上下文进一步改造过后的代码。

    <script> var array=[1,29,3,45,23,5,9]; var index=-1; function each(arr, fn){ for(var i=0;i<arr.length;i++){ var result= fn.apply(arr[i],[arr[i],i]); if(result===false){ break; } } }; each(array,function f(i,v){ if(this.valueOf()==23){ index=v; return false; } }); console.log(index); </script>
    转载请注明原文地址: https://ju.6miu.com/read-22686.html

    最新回复(0)