文章目录
前言
这里只整理了前端三剑客即HTML、CSS、JavaScript相关的题目
记录一下博主在面试前端岗位时所做过的一些笔试题目,同时我也会不定期更新本篇文章的内容,也希望能对正在阅读的你有所帮助。好了,话不多说让我们进入正题吧。
一、HTML
(1)在html表格中,可以通过在table标签中使用()标签添加表头。
A. <tr>
B. <td>
C. <th>
D. <thead>
常用表格标签用法说明:
表格标签 | 标签说明 |
---|---|
<table> | 表格标签; |
<tr> | 表格行标签; |
<td> | 表格列标签,意即表格的单元格,用来存放表格数据; |
<th> | 表头标签; |
<caption> | 表格标题; |
<colgroup> | 表格列所属的组; |
<col> | 表格列的属性; |
<thead> | 表格的页眉; |
<tfoot> | 表格的页脚; |
<tbody> | 表格的主体; |
二、CSS
(1)css选择器的优先级(!important(优先数值:∞) > 行内式(优先数值:1000) > id(优先数值:100) > class(优先数值:10) > 标签选择器(优先数值:1) > 继承
(1)html结构如图所示,需要实现三个div水平垂直居中效果(每个div宽高为150px),请给出css代码:
暂无参考代码
三、JavaScript
1.核心(ECMAScript)
1.1 概念与类型检测
(1) 以下不属于JavaScript基本数据类型的是:
A. Boolean
B. undefined
C. Symbol
D. Array
答案:D
解析:ECMAScript有6种简单数据类型(也称为原始数据类型):Undefined、Null、Boolean、Number、String和Symbol。Symbol(符号)是ECMAScript 6新增的。还有一种复杂数据类型叫Object(对象)。Object是一种无序名值对的集合。因为在ECMAScript中不能定义自己的数据类型,所有值都可以用上述7种数据类型之一来表示。只有7种数据类型似乎不足以表示全部数据。但ECMAScript的数据类型很灵活,一种数据类型可以当作多种数据类型来使用。
(2)以下不属于 typeof 运算符返回值的是?
A. "string"
B. "function"
C. "object"
D. "null"
答案:D
解析:对一个值使用typeof操作符会返回下列字符串之一:
"undefined"表示值未定义;
"boolean"表示值为布尔值;
"string"表示值为字符串;
"number"表示值为数值;
"object"表示值为对象(而不是函数)或null;
"function"表示值为函数;
"symbol"表示值为符号。
(3)可以用typeof来判断的基本类型有
A. undefined
B. null
C. array
D. object
答案:A
解析:在 JavaScript 最初的实现中,JavaScript 中的值是由一个表示类型的标签和实际数据值表示的。对象的类型标签是 0。由于 null 代表的是空指针(大多数平台下值为 0x00),因此,null 的类型标签是 0,typeof null 也因此返回 “object”。
下表总结了 typeof 可能的返回值。
类型 | 结果 |
---|---|
Undefined | “undefined” |
Null | “object” |
Boolean | “boolean” |
Number | “number” |
BigInt | “bigint” |
String | “string” |
Symbol | “symbol” |
Function(在 ECMA-262 中实现 [[Call]];classes也是函数) | “function” |
其他任何对象 | “object” |
这个值列表是详尽的。没有符合规范的引擎曾被报告过产生(或历史上产生过)除列出的值之外的值。在规范删除 typeof 为不可调用的非标准外来对象返回实现定义的字符串的行为之前,旧的 Internet Explorer 是已知的唯一一个实现额外返回值的浏览器。
1.2 逻辑判断
数据类型 | 转换为 true 的值 | 转换为 false 的值 |
---|---|---|
Boolean | true | false |
String | 非空字符串 | “”(空字符串) |
Number | 非零数值(包括无穷值) | 0、NaN |
Object | 任意对象 | null |
Undefined | N/A(不存在) | undefined |
(1)请选择结果为true的表达式()
A. null instanceof Object // false
B. null === undefined // false
C. null == undefined // true
D. NaN == NaN // false
答案:C
解析:用等于操作符(==)比较null和undefined始终返回true。但要注意,这个操作符会为了比较而转换它的操作数。
(2)请选择结果为true的表达式()
A. true && new Object()
B. new Object() && true
C. false || new Object()
D. new Object() || false
答案:ABCD
解析:这个题只要懂 && 和 || 的原理,其实看选项也能选出来正确答案来。
1.3 其它
(1)下列函数哪个不是JavaScript的全局函数
A. encodeURI
B. parseFloat
C. round
D. eval
答案:C
JavaScript 全局函数如下表:
函数 | 描述 |
---|---|
decodeURI() | 解码某个编码的 URI。 |
decodeURIComponent() | 解码一个编码的 URI 组件。 |
encodeURI() | 把字符串编码为 URI。 |
encodeURIComponent() | 把字符串编码为 URI 组件。 |
escape() | 对字符串进行编码。 |
eval() | 计算 JavaScript 字符串,并把它作为脚本代码来执行。 |
isFinite() | 检查某个值是否为有穷大的数。 |
isNaN() | 检查某个值是否是数字。 |
Number() | 把对象的值转换为数字。 |
parseFloat() | 解析一个字符串并返回一个浮点数。 |
parseInt() | 解析一个字符串并返回一个整数。 |
String() | 把对象的值转换为字符串。 |
unescape() | 对由 escape() 编码的字符串进行解码。 |
JavaScript 全局属性如下表:
函数 | 描述 |
---|---|
Infinity | 代表正的无穷大的数值。 |
NaN | 指示某个值是不是数字值。 |
undefined | 指示未定义的值。 |
2.文档对象模型(DOM)
(1)JavaScript中document.getElementById()返回值的类型为?
A. Array
B. Object
C. String
D. Function
答案:B
解析:暂无
(2)以下哪些document的方法可以获取到页面上的元素()
A. document.getElementsByClassName() // 返回文档中所有指定类名的元素集合,作为 NodeList 对象。
B. document.getElementById() // 返回对拥有指定 id 的第一个对象的引用。
C. document.getElementsByName() // 返回带有指定名称的对象集合。
D. document.getElementsByTagName() //返回带有指定标签名的对象集合。
E. document.documentElement // 获取HTML元素,返回文档的根节点
F. document.body // 获取body元素
G. document.querySelector() // 返回文档中匹配指定的CSS选择器的第一元素
H. document.querySelectorAll() //document.querySelectorAll() 是 HTML5中引入的新方法,返回文档中匹配的CSS选择器的所有元素节点列表
解析:documentElement 属性以一个元素对象返回一个文档的文档元素。HTML 文档返回对象为HTML元素。注意: 如果 HTML 元素缺失,返回值为 null。
body 属性用于设置或返回文档体。如果是返回, 该属性返回当前文档的<body>
元素。如果是设置, 该属性会覆盖所有在<body>
元素中的子元素, 并用新的内容来替换它。
3.浏览器对象模型(BOM)
(1)JavaScript可以在以下什么地方执行?
A. 服务器端的IE浏览器
B. 客户端的IE浏览器
C. 在服务器端的tomcat容器里
D. 在客户端的tomcat容器里
答案解析:B
JavaScript被定为一种浏览器的脚本语言,一直以来其运行环境都是客户端浏览器,因为JavaScript设计的初衷就是做一些浏览器与用户的交互和一些网页的特效来补充html和css的不足。
在2009年诞生了一种技术叫做node.js,Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装, Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。node.js使得JavaScript可以运行在服务器端作为一种服务器脚本语言运行,类似于php等动态语言。
所以目前JavaScript的运行环境有浏览器和node.js环境两种。
总结
由于博主水平有限,在编写过程中难免会有错误,欢迎读者对本文章提出建议和意见。也希望能够与之学习交流,一起共同进步!