zoukankan      html  css  js  c++  java
  • 20151126测试中问题

    1.下面代码,k的运行结果是:(A)

    var i=0,j=0;
        for(;i<5,j<10;i++,j++){
            k=i+j;
        }
        console.log(k);//18

    A.18  B.10  C.5  D.0

    “i<5,j<10;”这里执行时中间是","连接符连接的,程序运行时只会看最后一个条件,虽然也会看逗号前面的内容,但只会以最后一个逗号内容作为判断条件.

    2.

    var x=1;
        function fn(n){
            n=n+1;
        }
        y=fn(x);
        console.log(y)//undefined

    这里因为fn函数没有返回值,所以y是undefined.

    3.

    下面代码第一次弹 1 ,第二次弹 undefined .

    function fn1(){
            alert(1);
        }
        alert(fn1());

    下面代码弹出function fn1(){ alert(1); }

    function fn1(){
            alert(1);
        }
        alert(fn1);

    下面代码第一次弹1,第二次报错Uncaught TypeError: fn1(...) is not a function

    4.以下代码运行后,结果为 程序报错 Uncaught TypeError: fn1 is not a function

    fn1();
        var fn1=function(a){alert(a);}

    以下代码运行后弹出undefined.

    fn1();
        function fn1(a){alert(a);}

    以下代码弹出 2222

    fn1(2222);
        function fn1(a){alert(a);}

    以下代码报错 Uncaught ReferenceError: bbbb is not defined

    fn1(bbbb);
        function fn1(a){alert(a);}

    5.

    var n="miao wei ke tang".indexOf("ke",10);
        console.log(n)//-1

    var n="miao wei ke tang".indexOf("ke",6);
        console.log(n)//9

    6.

    var arr=[];
        arr1=arr;
        console.log(arr===arr1)//true
    var arr=[];
        arr1=[];
        console.log(arr===arr1)//false
    var arr={};
        arr1={};
        console.log(arr===arr1)//false
    var arr={};
        arr1=arr;
        console.log(arr===arr1)//true

    两个对象时,即使相同也不相等,var arr=[],arr1=arr;此时是让arr1也指向arr指向的那个对象,他们指向的是同一样对象,因此是相等的.

    7.以下代码运行后,结果为true,括号中从先运行++i,i为1,再运行右边,i以1执行操作,最后结果为2,1==1,true.

    var i=0;
        alert(++i==i++);//true

    8.

    console.log(Number("")==parseFloat(""))//false
    console.log(Number(""))//0

    console.log(parseFloat(""))//NaN

    9.以下代码中,第一次弹 1 ,第二次弹 1, 第三次弹 2.

    function fn1(){
            var a=0;
            function fn2(){
                ++a;
                alert(a);
            }
            return fn2;
        }
        fn1()();
        var newFn=fn1();
        newFn();
        newFn();

    下面代码什么都不弹,因为fn1里的fn2未运行

    function fn1(){
            var a=0;
            function fn2(){
                ++a;
                alert(a);
            }
            return fn2;
        }
        fn1();

    下面代码弹1,因为fn1()返回fn2,fn2()弹出1

    function fn1(){
            var a=0;
            function fn2(){
                ++a;
                alert(a);
            }
            return fn2;
        }
        fn1()();
    function fn1(){
            var a=0;
            function fn2(){
                ++a;
                alert(a);
            }
            return fn2;
        }
        fn1()();
        var newFn=fn1();
        newFn();//类似fn1()(),弹出1,返回fn2
        newFn();//fn2(),a此时为1,++a,为2

    10.

    var arr=[1,2];
        var arr2=arr.concat();
        console.log(arr);//[1,2]
        console.log(arr2)//[1,2]
        arr2=arr.concat(3);
        console.log(arr2)//[1,2,3]
        arr2.push(arr.splice(1,0));
        console.log(arr);//[1,2]
        console.log(arr2)//[1,2,3,[]]

    11.全局下调用test,所以this.a为10,下面会把var a提到函数最顶部顶部解析,因为最后一次也是弹出100

    var a=10;
        function test(){
            a=100;
            alert(a);//100
            alert(this.a);//10
            var a;
            alert(a);//100
        }
        test();
  • 相关阅读:
    Maven错误recv failed
    eclipse集成tomcat修改字符集参数
    eclipse luna 无法安装veloeclipse问题
    TortoiseSVN忽略文件夹
    类之特性
    __new()__与__init__()
    flask中models设计
    flask读书记录
    JS中的event 对象详解
    redis 持久化 RDB
  • 原文地址:https://www.cnblogs.com/sunshinegirl-7/p/5000303.html
Copyright © 2011-2022 走看看