1、找出ID为“newsList”的HTML元素下的第一个节点,并将其移动到“newsList”的最后。
2、不使用中间变量,交换a = 'boolean', b = [0,1] 两个变量的值。面试题js

解决方案 »

  1.   


    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script type="text/javascript">
    $(function(){
    $("#newsList").children().eq(0).click(function(){//点击触发移动
    $(this).remove();
    $("#newsList").append($(this));
    });
    })
    //题目2
    var a = 'boolean';
    var b = [0,1];
    a=[a,b];
    b=a[0];
    a=a[1];
    alert(a);
    alert(b); 
    </script><div id="newsList">
    <p class="a">1</p>
    <p class="b">2</p>
    <p class="c">3</p>
    </div>
      

  2.   

    “找出ID为“newsList”的HTML元素下的第一个节点,并将其移动到“newsList”的最后。”如果用纯粹的JS,该怎么实现呢?
      

  3.   

    var ul = document.getElementById("newsList");
    ul.appendChild(ul.firstChild);
      

  4.   

    var a = 'boolean', b = [0,1];
    b.a = a;
    a = b;
    b = a.a;
    delete a.a;
    alert(a);
    alert(b);
      

  5.   

    <ul id="newsList">
    <li>a</li>
    <li>b</li>
    <li>c</li>
    <li>d</li>
    </ul>
    <script type="text/javascript">
    var ul = document.getElementById("newsList");
    ul.appendChild(ul.firstChild);
    </script>
      

  6.   

    1.
    var el = document.getElementById('newsList').childNodes[0];
    var pEl = el.parentNode;
    pEl.removeChild(el);
    pEl.appendChild(el);2.方法很多,楼上的就可以
    b.a = a;
    a = b;
    b = b.a;
    delete a.a;
      

  7.   

    var d = document.getElementById('newsList');
    d.appendChild(d.firstChild);//firstChild为第一个nodeType为1的节点a = [b,b=a][0]
      

  8.   


    a = [b,b=a][0] 这个很简介强大,放数组里交换。
      

  9.   

    对啊,不明白,注册个属性就不是中间变量了?使用字面量就不是中间变量了?按这样说:b.push(a);  //借用了b的第三个元素
    a = b;
    b = a.pop(); 
    b['temp'] = a;  //借用temp属性
    a = b;
    b = a['temp'];
    delete a['temp']; //擦下屁股7楼的方法和这个没区别:temp = [b,a]; //借用了新数组
    b = a;
    a = temp[0];倘若a、b都是数字,考考异或运算倒是显些水平,可惜一个是字符串,一个是数组。下面的代码才是真正的巧妙:var a = 34, b= 89;
    a = a + b;
    b = a - b; // a+b-b=a
    a = a - b; // a+b-a=b异或的代码记都不用记,三个式子完全一样var a = 31, b= 93;
    a = a ^ b; //记住a=a^b,带入下式
    b = a ^ b; //a^b^b = a
    a = a ^ b; //a^b^a = b
      

  10.   

    对啊,不明白,注册个属性就不是中间变量了?使用字面量就不是中间变量了?按这样说:b.push(a);  //借用了b的第三个元素
    a = b;
    b = a.pop(); 
    b['temp'] = a;  //借用temp属性
    a = b;
    b = a['temp'];
    delete a['temp']; //擦下屁股7楼的方法和这个没区别:temp = [b,a]; //借用了新数组
    b = a;
    a = temp[0];倘若a、b都是数字,考考异或运算倒是显些水平,可惜一个是字符串,一个是数组。下面的代码才是真正的巧妙:var a = 34, b= 89;
    a = a + b;
    b = a - b; // a+b-b=a
    a = a - b; // a+b-a=b异或的代码记都不用记,三个式子完全一样var a = 31, b= 93;
    a = a ^ b; //记住a=a^b,带入下式
    b = a ^ b; //a^b^b = a
    a = a ^ b; //a^b^a = b

    不用任何中间量,这样算不算。觉得这题目出的没道理var a = 'boolean', b = [0,1];
    a = a+"`"+b;
    b = a.replace(/`.*/,"");
    a = a.replace(/.*`/,"").split(",");
    alert(a);
    alert(b);
      

  11.   


    a = [b,b=a][0] 这个很简介强大,放数组里交换。
    good
    学到一招