其他分享
首页 > 其他分享> > js基础周测考试题错误和易错知识点(笔试)

js基础周测考试题错误和易错知识点(笔试)

作者:互联网

1.下面代码的运行结果是:第一次弹( )第二次弹( )
function fn1() {
alert(1);
}
alert( fn1() );
A.1
B.alert(1);
C.function fn1() { alert(1); }
D.undefined

运行fn1(),弹出1,fn1()没有返回值,所以fn1()为undefined;alert(fn1())alert里面的内容是fn1()的返回值,
所以是undefined;

2.alert( “12”>“9” ) 的运行结果正确的是()
A.true B.False C. 1 D. 0

  两个字符串比较大小,是比较第一个值得ASCII码的大小,如果第一个ASCII码相同的话,就比较第二个。以此类推。

3.下面的等式成立的是()
A.parseInt(12.5) == parseFloat(12.5)
B.Number("") == parseFloat("")
C.isNaN(“abc”) == NaN
D.typeof (NaN) === “number”

Number('')  //返回0;
parseFloat('')  //返回NaN

4.以下代码中,会出现什么结果:第一次弹( ),第二次弹( ),第三次弹( )

function fn1() {
            var a = 0;

            function fn2() {
                ++a;
                alert(a);
            }
            return fn2;
        }
        fn1()(); //1
        var newFn = fn1();
        newFn();  //1
        newFn();   //2
 第一次调用fn1(),返回fn2,再调用,a++使a从0变成1,弹出1;
 接下来,fn1()赋值给了一个变量,newFn;相当于newFn = fn2;
 调用fn2()依旧按照之前的思路弹出1(指的是全局变量a从0自增到了1),然后在调用fn2(),
 此时fn2()中的a是1,因为之前调用了fn2(),而fn1()下的a = 0;是不起作用的,因为没有再调用fn1,
 因为此时在fn2中的a已经变成1了,再调用fn2,里面的a自增变成了2,所以弹出2;

5.下面代码的运行结果是:第一次弹( ),第二次弹( )

var a = 100;
        function fn1() {     
            alert(a);     
            var a = 10;  
        }   
        alert(fn1());
 第一次调用fn1,里面有一个变量提升,a为undefined,弹出undefined,fn1没有返回值,
 所以fn1返回的是undefined,即fn1() == undefined,alert(fn1())弹出的是undefined。

alert里面如果是函数的调用,说明弹出的是这个函数的返回值。
6.请选择结果为真的选项()

A.null == undefined
B.null === false
C.undefined == false
D.NaN == NaN 

规范中提到, 要比较相等性之前,不能将 null 和 undefined 转换成其他任何值,
并且规定null 和 undefined 是相等的。null 和 undefined都代表着无效的值。

7.以下 ECMAScript 变量命名格式正确的是()

A._125dollor     B.1207A     C.-dollor     D.this

变量声明规则:由数字,字母,下划线,$符号组成,但是不能用字母开头;
不能是关键字和保留字;
区分大小写;

8.程序书写:创建一个汽车对象,
汽车的特征有:车牌号(codeNum)、颜色(color)、车身宽度(width)
汽车的行为有:行驶(travel)、刹车(stop)
要求:在四种创建对象的方式中选择其中两种即可

标签:知识点,易错,调用,undefined,fn1,alert,弹出,考试题,fn2
来源: https://blog.csdn.net/m0_47531829/article/details/117022558