JS-小知识记录

  • 关于"||"和"&&"

    •  几乎所有语言中||和&&都遵循“短路”原理,
      
    • 如&&中第一个表达式为假就不会去处理第二个表达式,而||正好相反。
    • js也遵循上述原则。
    • 当||时,找到为true的分项就停止处理,并返回该分项的值,否则执行完,并返回最后分项的值。
    • 当&&时,找到为false的分项就停止处理,并返回该分项的值。
      // var a = "" || null || 3 || 4;//3
      // alert(a);
      // var b = 4 && 5 && null && "0";//null
      // alert(b);
  • 关于alert

    var obj1={x:1},
            obj2={x:2};

        (function(obj2){
            delete obj2.x;
        })
        alert(obj1.x,obj2.x);//输出1
        alert(obj1.x+obj2.x);//输出3

        var obj1={x:1},
            obj2={x:2};
//-------------------------------------------------------------------
        (function(obj2){
            delete obj2.x;
        })(obj1);
        alert(obj1.x,obj2.x);//输出undefined
        alert(obj1.x+obj2.x);//输出NaN
        alert(undefined+undefined);//输出NaN
  • 默认的body marginTop
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
/*  body,div{
        margin: 0;
        padding: 0;
    }*/
/*  body{
        margin: 0;
        padding: 0;
    }*/
/*  div{
        margin: 0;
        padding: 0;
    }*/
    #left{
        background: red;
        width: 100px;
        position: absolute;
        left: 0;
        height: 100px;
    }
    </style>
    <script type="text/javascript">
        window.onload=function(){
            var oId=document.getElementById("left");
            var oBody=document.getElementsByTagName("body")[0];
            alert(getStyle(oId,'paddingTop'));//0px
            alert(getStyle(oBody,'marginTop'));//!!!!!!--8px
            alert(getStyle(oBody,'paddingTop'));//0px

        }

        function getStyle(obj,attr){
            if(obj.currentStyle){
                return obj.currentStyle[attr];
            }else{
                return document.defaultView.getComputedStyle(obj,null)[attr];
            }
        }
    </script>
</head>
<body>
    <div id="left"></div>
    <div id="main"></div>
    <div id="right"></div>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容