美文网首页前端知识点
原生javascript的知识点(一)

原生javascript的知识点(一)

作者: AMONTOP | 来源:发表于2019-01-30 16:19 被阅读20次

NaN:

NaN这个特殊的Number与所有其他值都不相等,包括它自己
NaN === NaN; // false
唯一能判断NaN的方法是通过isNaN()函数:
isNaN(NaN); // true

浮点数

1 / 3 === (1 - 2 / 3); // false
浮点数在运算过程中会产生误差,因为计算机无法精确表示无限循环小数。要比较两个浮点数是否相等,只能计算它们之差的绝对值,看是否小于某个阈值:
Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true

一个原生js创建<tr><td>的实例:

考查创建节点http://www.w3school.com.cn/jquery/jquery_ref_manipulation.asp

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table id="table">
    <tr id="add">
        <th>id</th>
        <th>name</th>
        <th>age</th>
        <th>sex</th>
    </tr>
</table>
<script>
    var table = document.getElementById("table");
    for (var j=0;j<5;j++){
        var tr = document.createElement("tr");
        table.appendChild(tr);
        tr.setAttribute("id","tr"+j);
        for (var i=0;i<4;i++){
            var td = document.createElement("td");
            var tdcon = document.createTextNode("my"+i);
            td.appendChild(tdcon);
            var getTr = document.getElementById("tr"+j);
            getTr.appendChild(td);
        }
    }
</script>
</body>
</html>
  • js获取元素(父节点,子节点,兄弟节点),元素筛选
    获取节点
   var test = document.getElementById("test");
  var parent = test.parentNode; // 父节点
  var chils = test.childNodes; // 全部子节点
  var first = test.firstChild; // 第一个子节点
  var last = test.lastChile; // 最后一个子节点 
  var previous = test.previousSibling; // 上一个兄弟节点
  var next = test.nextSibling; // 下一个兄弟节点
  • jquery如何只删除父元素,保留子元素:
<div>
  <div id="child1">保留</div>
  <div id="child2">保留</div>
</div>
<script>
  var div=$("div:eq(0)");  //这最好用ID 其它区分 来
  div.parent().append( div.children());
  div.remove();
</script>
  • jquery包裹一个元素:
    wrap() 方法把每个被选元素放置在指定的 HTML 内容或元素中
    <p>This is a paragraph.</p>
    <p>This is another paragraph.</p>
    <button class="btn1">用 div 包裹每个段落</button>

    <script type="text/javascript">
        $(document).ready(function(){
            $(".btn1").click(function(){
                $("p").wrap("<div></div>");
            });
        });
    </script>

得到的结果:

<div>
  <p>This is a paragraph.</p>
</div>
<div>
  <p>This is another paragraph.</p>
</div>
  • jquery中append在元素中的后面添加:
    <script type="text/javascript">
        $(document).ready(function(){
            $("button").click(function(){
                $("p").append(" <b>Hello world!</b>");
            });
        });
    </script>

  <p>This is a paragraph.</p>
  <p>This is another paragraph.</p>
  <button>在每个 p 元素的结尾添加内容</button>

得到的结果为:

<p>
  This is a paragraph. <b>Hello world!</b>
</p>
<p>
  This is another paragraph. <b>Hello world!</b>
</p>

  • js判断是移动端还是pc端:
        var ua = navigator.userAgent.toLocaleLowerCase();
        var pf = navigator.platform.toLocaleLowerCase();
        var isAndroid = (/android/i).test(ua)||((/iPhone|iPod|iPad/i).test(ua) && (/linux/i).test(pf))
            || (/ucweb.*linux/i.test(ua));
        var isIOS =(/iPhone|iPod|iPad/i).test(ua) && !isAndroid;
        var isWinPhone = (/Windows Phone|ZuneWP7/i).test(ua);

        var mobileType = {
            pc:!isAndroid && !isIOS && !isWinPhone,
            ios:isIOS,
            android:isAndroid,
            winPhone:isWinPhone
        };

        console.log(mobileType.pc);
        if(mobileType.pc == false){
            console.log("移动端");
        }else{
            console.log("pc端");
        }

相关文章

网友评论

    本文标题:原生javascript的知识点(一)

    本文链接:https://www.haomeiwen.com/subject/bzkcsqtx.html