start=start||0其实就等于start=start?start:0;也就是说如果存在start这个传递过来的参数 就是直接取它的值 如果没有 就赋值为0

解决方案 »

  1.   

    如果 start=
    start = start ¦ ¦ 0; //start 不为null 就=start 为null 就为0 
    length = length ¦ ¦ this.length; 同理
    错个测试<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>无标题页</title>
    </head>
    <body>
    <span>China</span>
    <span>America</span>
    <span>Singapore</span></body>
    <script type="text/javascript">
    alert(null||0);
    alert(1||0);
    </script>
    </html>
      

  2.   


    <script type="text/javascript">var start = start || 0;
    alert(start) //如果start没有值  就付 0start = 8 
    start = start || 0; //如果start有值  就付 如果start的值
    alert(start)
    </script>
    || 的用法和其他语言有点不一样在JavaScript 1.2之后的版本中
    布尔操作 a || b 当且仅当a的值是true,或能够转换为true的时候返回a,否则返回b的值
    也就是说表达式 a || b的值不是布尔值
    if(a || b)是先求表达式的值,再将它的值转换为boolean
      

  3.   

    ToCharArray()
    ToCharArray(1)
    ToCharArray(1, 2)当没有传值的时候参数将为undefined、判断时候将为false
    上面的代码相当于给参数一个默认值。start = start || 0; // start如果为undefined则为0
      

  4.   


    这样就一定是 bool值了
    !!a||b