zoukankan      html  css  js  c++  java
  • 常见代码题

    1.看下列代码输出为何?解释原因

    var a;
    alert(typeof a);//undefined
    alert(b);//报错
    解释:undefined是一个只有一个值的数据类型,这个值就是"undefined",在使用var声明变量但并未对其赋值进行初始化时,这个变量的值就是undefined,而b由于未声明将报错。
    注意未声明的变量和声明了未赋值的是不一样的。
    var a = null;
    alert(typeof a);//object
    解释:null是一个只有一个值的数据类型,这个值就是null。表示一个空指针对象,所以用typeof检测会返回"object"
    var undefined;
    undefined == null;//true  undefined与null相等,但不恒等(===)
    1 == true;//true 一个是number一个是string时,会尝试将string转换为number
    2 == true;//false 尝试将boolean转换为number,0或1
    0 == false;//true
    0 == '';//true
    NaN == NaN;//false
    [] == false;//true 尝试将object转换成number或string,取决于另外一个对比量的类型
    [] == '';//true
    [] == [];//false
    [] == ![];//true
    解释: 隐式转换的时候,[]为false。
    []是对象,用于判断条件就会转成true,但是将[]与布尔值比较却是false,[]==false
    var foo = "11"+2-"1";
    console.log(foo);//111
    console.log(typeof foo);//number
    var a = new Object();
    a.value = 1;
    b = a;
    b.value = 2;
    alert(a.value);//2(考察引用数据类型细节)
            var x = 1;
            function ScopeTest() {
                alert(x);
                var x = 'hello world';
                alert(x);
            }
            ScopeTest();//先弹出undefined,再弹出hello world
            var x=3;
            (function(){
                x=6;
                y=6;
                var z=3;
            })();
            console.log(x==y);//true
            console.log(z);//报错,z is not defined.
                    var a=false;
            var b=6;
            var c=true;
            var d=false;
            var e=6;
            console.log(a||b||c);//6
            console.log(d&&e);//false
            var a = 1;
            function func(){
                a=b=2
            }
            func()
            console.info(a)//2
            console.info(b)//2
            var t = true;
            window.setTimeout(function(){
                t=false;
            },1000);
            while(t){
    
            }
            alert('end');
            console.log(isNaN(NaN));//true
            console.log(isNaN(23));//false
            console.log(isNaN('ds'));//true
            console.log(isNaN('3213sdasd'));//true
            console.log(NaN === NaN);//false
            console.log(NaN === undefined);//false
            console.log(undefined === undefined);//true
            console.log(typeof NaN);//number
    Number(undefined)//NaN
    Number(null)//0
    parseInt(true)//NaN
    parseInt(null)//NaN
    parseInt(false)//NaN
     
         if(10>9>8 == true){
             console.log("html5");
         }
         else {
             console.log("css3");
         }
         //css3
         var obj = {};
         obj.name = "first";
         var peo = obj;
         peo.name = "second";
         console.log(obj.name);//second
        var output = (function(x){
             delete x;
             return x;
         })(0);
         console.log(output);//0
  • 相关阅读:
    从训练数据中随机抽取一打数据的好方法
    黄金坑的说明
    Chainer的初步学习
    split和strip的使用
    转载:configure执行流程(1.5.2)《深入理解Nginx》(陶辉)
    转载:编译安装Nginx(1.5.1)《深入理解Nginx》(陶辉)
    转载:编译安装Nginx(1.4)《深入理解Nginx》(陶辉)
    转载:获取Nginx源码(1.3.5)《深入理解Nginx》(陶辉)
    转载:Linux内核参数的优化(1.3.4)《深入理解Nginx》(陶辉)
    转载:磁盘目录(1.3.3)《深入理解Nginx》(陶辉)
  • 原文地址:https://www.cnblogs.com/zhaosijia----1234/p/8996653.html
Copyright © 2011-2022 走看看