css/html笔试题1

前端技巧精粹

转自https://www.nowcoder.com

1,要去掉文本超链接的下划线,正确的是

a {underline:none}
a {text-decoration:no underline}
a {decoration:no underline}
a {text-decoration:none}

解析:(D)
(文本装饰)

2,在不涉及样式情况下,页面元素的优先显示与标签选用无关。请判断这句话的正确与否。

解析:(true)
(html文档加载是从上到下加载,只与标签的上下顺序有关,与标签选用无关。)

3,bootstrap中,一个元素需要在打印时隐藏,使用的类是

visible-print-block
visible-print-inline
hidden-print
print-hidden

解析:(C)
http://v3.bootcss.com/css/#responsive-utilities-print

4,要运用css3动画,你需要运用什么规则?

animation
keyframes
flash
transition

解析:(B)
(要运用css3动画,需要运用@keyframes规则和animation属性)

5,处理a.html文件时,以下哪行伪代码可能导致内存越界或者抛出异常

链接:https://www.nowcoder.com/questionTerminal/9b25461c23814b858dfc0ba0d45c0c48
来源:牛客网

         int totalBlank = 0;
         int blankNum = 0;
         int taglen = page.taglst.size();
A       for(int i = 1; i < taglen-1; ++i)
        {
                 //check blank
B             while(page.taglst[i] == "<br>" && i < taglen)
               {
C                       ++totalBlank;
D                       ++i;
               }
E             if(totalBlank > 10)
F                      blankNum += totalBlank;
G             totalBlank = 0;
        }

注意:以下代码中taglen是html文件中存在元素的个数,a.html中taglen的值是15,page.taglst[i]取的是a.html中的元素,例如page.taglst[1]的值是
a.html的文件如下:

<html>
<title>test</title>
<body>
<div>aaaaaaa</div>
</body>
</html>
<br>
<br>
<br>
<br>
<br>

A
B
C
D
E
F
G

解析:(B)

(因为while(page.taglst[i] == "<br>" && i < taglen)这个判断,先执行page.taglst[i] == "<br>"这个判断,如果这个判断返回值为true,再执行i < taglen这个判断。当i=taglen的时候,执行page.taglst[i] == "<br>"这个判断就会越界,所以B处,最先出现越界)

虽然我认为当i==taglen,进入不到循环体

6,css 中可继承的属性有哪些

height
font-size
border
width
color

解析:(BE)
(肯定有很多人不知道什么是继承,继承就是指子节点默认使用父节点的样式属性。
不可继承的属性太多了不要背,记住可以继承的属性有哪些就行了,只有颜色,文字,字体间距行高对齐方式,和列表的样式可以继承

所有元素可继承:visibility和cursor。
内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction。
终端块状元素可继承:text-indent和text-align。
列表元素可继承:list-stylelist-style-typelist-style-positionlist-style-image

7,对应的注释分别是?

HTML的注释标记是以下哪个选项?
CSS的注释标记是以下哪个选项?
JS的注释标记是以下哪个选项?

//注释内容
/* 注释内容 */
<!-- 注释内容 -->
《注释内容》

解析:(C)(B)(A)

8,HTML5 提供两种新对象,通过 javascript API 来存储本地数据,这两种对象是?

cookies和sessionVariables
localStorage和sessionStorage
cookies和locationObjects

解析:(B)

9,MVC是一种常见的架构。以下描述错误的是?

只有Web系统才能使用MVC
只有能够保存正在数据库里面的实体才能称之为模型(Model)
只有以HTML形式显示的页面才是视图(View)
模型变更之后,只有控制器(Controller)才能驱动视图变更或重新渲染视图

解析:(A)(B)(C)
任何系统都可以使用MVC的设计理念;
数据库里面的实体算是model吧,保存是controller干的吧
视图层有很多表现形式

10,下面哪一种不属于 js 的六种基本数据类型?()

undefined
string
null
Object

解析:(D)
ES6 后新增了一类数据类型 :Symbol ,根据 JavaScript 高程, ES5 中的基本数据类型有 5 种:Undefined、Null、Boolean、Number、String.而 Object 是属于复杂数据类型,所以我认为这里说的 6 种基本数据类型是指:Undefined、Null、Boolean、Number、String 与 Symbol.

11,以下哪一个不是JavaScript的数据类型:

String
Boolean
Undefined
Integer

解析:(D)
同上

12,蔺相如,司马相如;魏无忌,长孙无忌。下列哪一组对应关系与此类似()

PHP,Python
JSP,servlet
Java,Javascript
C,C++

解析:(C)
蔺相如 和 司马相如,都有相如
魏无忌 和 长孙无忌 , 都有无忌
名字里面由重复地方,但没有什么关系
但是 D 选项 C 和 C plus ,后者是对前者的进阶版,不是很贴切

13,请阅读以下代码,该代码在浏览器中执行,输出的日志结果是什么?

var obj = {};
obj.log = console.log;
obj.log.call(console,this);

window
console
obj
undefined

解析:(A)
http://www.w3school.com.cn/js/pro_js_inheritance_implementing.asp
obj.log.call(console,this) = console.log.call(console,this) = console.log(this) = window
个人理解call和apply的作用就是切换函数的对象上下文,把call和apply函数的第一个参数this替换为其他东西。
在本例中第一个参数this替换为console,但对结果没影响,只是执行console.log(),并把第二个参数this传入。

14,关于绑定变量,最正确的做法是

<div>{{value}}</div>
<div ng-bind="value"></div>
<div ng-model="value"></div>
<div ng-bind="obj.value"></div>

解析:(D)

A:当angular还没加载时,可以将{{value}}显示出来,用户体验不好
C:ng-model用于将输入框的输入值和变量绑定起来,无法用在div上
剩下的B和D都实现了变量绑定,但是D的实现更好。D的做法将变量绑定在$scope对象的属性上,这样的做法是angularjs 的最佳实践

15,以下代码的输出结果是

var f = function g() {
        return 23;
    };
typeof g();

number
undefined
function
Error

解析:(D)
实践证明:
如果是typeof f,结果是function
如果是typeof f(),结果是number
如果是typeof g,结果是undefined.
如果是typeof g(),结果是ReferenceError,g is not defined

在 JS 里,声明函数只有 2 种方法:
第 1 种: function foo(){…} (函数声明)
第 2 种: var foo = function(){…} (等号后面必须是匿名函数,这句实质是函数表达式)

除此之外,类似于 var foo = function bar(){…} 这样的东西统一按 2 方法处理,即在函数外部无法通过 bar 访问到函数,因为这已经变成了一个表达式。

所以这里如果求 typeof g ,会返回 undefined,但求的是 g(),所以会去先去调用函数 g,这里就会直接抛出异常,所以是 Error。

16,ng-class是做什么用的?

给元素绑定样式
给元素绑定类名
给元素绑定监听
显示隐藏

解析:(B)

17,angularjs1中使用指令,绑定监听是在什么时候?

compiles时
link时
require时
生成DOM时

解析:(B)

为了解决AngularJS性能问题,编译阶段应分为两个阶段
1,compile (绑定DOM)
2,link(数据绑定)

18,angularjs1中使用指令,绑定监听是在什么时候?

var a,b;
(function(){
    alert(a);
    alert(b);
    var a=b=3;
    alert(a);
    alert(b);
})();
alert(a);
alert(b);

undefined,undefined,3,3,undefined,3
undefined,undefined,3,3,undefined,undefined
0,0,3,3,undefined,undefined
undefined,undefined,3,3,0,0

解析:(A)

var a=b=3 时a是局部变量,而b是全局变量
var a=b=3 相当于 var a = 3;b = 3;b是全局的

19,问题:span标签的width和height分别为多少?

<div style=”width:400px;height:200px;”>
  <span style=”float:left;width:auto;height:100%;”>
           <i style=”position:absolute;float:left;width:100px;height:50px;”>hello</i>
  </span>
</div>

width = 0px,height = 0px
width = 400px,height = 200px
width = 100px,height = 50px
width = 0px,height = 200px

解析:(A)

首先,span不是块级元素,是不支持宽高的,但是style中有了个float:left,就使得span变成了块级元素,支持宽高,height:100%,即为200
然后,宽度由内容撑开,但是内容中的 i 是绝对定位,脱离了文档流,所以不占父级空间,所以span的width=0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值