标签:知识点 易错 调用 undefined fn1 alert 弹出 考试题 fn2
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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。