20151126测试中问题
发布日期:2022-03-13 05:36:13 浏览次数:20 分类:技术文章

本文共 2777 字,大约阅读时间需要 9 分钟。

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();

转载于:https://www.cnblogs.com/sunshinegirl-7/p/5000303.html

转载地址:https://blog.csdn.net/weixin_30323961/article/details/98241653 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:十二丶异常处理
下一篇:前端试题1

发表评论

最新留言

很好
[***.229.124.182]2024年03月31日 17时13分50秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章