A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 PHP老曹 于 2017-4-24 16:28 编辑

一、什么是 NaN,它的类型是什么?怎么测试一个值是否等于 NaN?

答案:NaN 是 Not a Number 的缩写,JavaScript 的一种特殊数值,其类型是 Number,可以通过 isNaN(参数) 来判断一个值是否是 NaN。

说明:isNaN可能没有讲过,可以自己百度一下用法!


二、请说出以下程序的运算结果:
var a = 10;
var b = 20;
if(!a<b){
        alert(‘true’);
}else{
        alert(‘false’);
}
答案:true。
因为运算符优先级不同:!的优先级大于< ,所以,在if中,先运算!a,然后再和b比较,由于自动转换,就会变成1<20,所以等式成立,结果为true。




三、请说出以下函数的执行结果(也就是控制台显示数字1-4的顺序)
$(function() {
console.log(1);
setTimeout(function(){console.log(2)}, 1000);
setTimeout(function(){console.log(3)}, 0);
console.log(4);
})();
答案:正确的出现顺序是:1 4 3 2。
解释:js是单线程的,所以按照由上到下的顺序进行代码的执行。setTimeout的意思是,里面的代码延迟多少毫秒才开始运行,所以说此函数在正常的线程中先不会执行,等到相应的代码段执行完毕之后才会开始延迟执行,因此,我们先看到的是1,4;而方法中第三行是等待0秒执行,第二行是1秒后执行(1秒=1000毫秒),所以3之前,2在后。结果就是 1 4 3 2。



四、请说出以下代码的执行结果(原因也可以问问)
说明://后面是答案和原因

console.log(1 + "2" + "2");
// 122        +连接字符串

console.log(1 + +"2" + "2");
//32  因为字符串前面有+或者-,会自动转换成数字,所以+”2”就转换为了2,所以原来的式子变成了1+2+”2” = 32

console.log(1 + -"1" + "2");
//02            原因同上 –“1”变成了1,所以:1-1+”2“ = 02

console.log(+"1" + "1" + "2");
//112        变形后:”1”+”1”+”2” = 112

console.log( "A" - "B" + "2");
//NaN2                “A”-“B”结果是NaN,连接一个字符串“2”,结果就是NaN2

console.log( "A" - "B" + 2);
//NaN        “A”-“B”结果是NaN,和数值型做加法运算,结果还是NaN


五、请说出代码执行的结果、原因
var a = 1;
                var b = 2;
                if(a>10 && ++b){
                        //代码
                }
                alert(b);

答案,b为2。
题目虽短,但是用到了短路原则,即逻辑与的短路:两侧式子都为真的时候,结果返回真,有一个式子为假,则返回假。因为本题中,左侧已经为假了,所以右侧的代码就不执行了,这就是短路原则,所以++b根本没有执行到,b的值还是2。




六、概念题(bootstrap)
在bootstrap中,用栅格系统,把要求在手机上显示两大块,在平板上显示3大块,普通屏幕显示四大块,大屏幕上显示6大块,应该如何对栅格系统的类进行设置?
答案:<div class=”container”>
                <div class=”row”>
                        <div class=”col-sm-6 col-sm-2 col-md-3 col-lg-2”>
                        </div>

</div>
</div>

说明:标红的是重点。


七、CSS题目,有两种问法
问法一:CSS中,word-wrap:break-word是干什么的?
答:有时候我们胡乱输入的英文单词,或者某些情况下英文单词在div、p等容器中不会自动换行,导致英文字母超出我们规定的宽度,这个属性就是解决这个问题的。

问法二:如果我们输入的英文单词,在div或者P标签中,不自动换行,以至于超出了我们定义的宽度,应该怎么解决?
答案:word-wrap:break-word。




八、jQuery题目:jQuery的$(function(){ })方法,和js中的window.onload=function(){ }方法的作用是什么?区别呢?
答:作用都是一样的,都是当页面加载完毕之后,才执行function中的代码。
区别:如果页面中有图片或者外链的内容需要载入。
window.onload=function(){ }则会等他们都加载完毕后才执行function的代码。(如果网速卡,会导致效率降低,甚至出错)。
(function(){ })则是在所有的dom加载完毕后就会执行代码,不会浪费时间去加载一些资源性的东西,相比之下效率高。


九、CSS中,背景图片的大小可以变化吗?怎么变?有什么条件?
答案:在我们之前学习的ss中,是css2 ,北京图片的大小不能变化。只能随着容器的宽高进行相应的调整。
在html5配合css3使用的时候,背景图片新增了一个属性,可以变化大小:
background-size:x y。x代表宽度 y代表高度。



十、CSS扩展题:我们学习过的,在CSS中,优先级最高的就是行内样式了,比如<div style=”color:red” class=”class1”></div>,那么你知道什么方法,比行内样式的优先级还高么?
答案:是!important,它的优先级最高,比如放到类里面
.class1{color:blue!important},那么,div中的颜色就变成了蓝色,因为它拥有最高优先级。

小尾巴:老曹在杭州黑马。下次将带来不一样的电商项目!

8 个回复

倒序浏览
你可能会拥有不用的想法,甚至不同的想法!说出来一起讨论!
回复 使用道具 举报
孙晓威 来自手机 黑马粉丝团 2017-4-25 15:39:57
藤椅
纯干活好帖!
回复 使用道具 举报
脑洞大开啊,学到就是赚到
回复 使用道具 举报
妈妈再也不用担心面试题怎么解答了
回复 使用道具 举报
又学到了好多
回复 使用道具 举报
不错,不错,真是好贴!!我来晚了。
回复 使用道具 举报
细看帖子里面写的不少东西,尤其是类型,和举例验证那一块,真的很详细哦
回复 使用道具 举报
又涨姿势了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马