Yushi前端笔试题一期
Posted 黑子Kuroko
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yushi前端笔试题一期相关的知识,希望对你有一定的参考价值。
1、描述以下6种错误类型
Syntaxerror
语法错误。
常见:1、变量名不符合规范;2、给关键字赋值。
ReferenceError
引用错误,要用的变量没找到。
常见:1、引用了不存在的变量;2、给一个无法被赋值的对象赋值。
TypeError
类型错误。
常见:1、调用不存在的方法;2、new关键字后接基本类型。
RangeError
范围错误,参数超范围。
常见:1、数组长度为负数;2、Number对象的方法参数超出范围。
EvalError
非法调用 eval( ) 。
在ES5以下的javascript中,当eval()函数没有被正确执行时,会抛出evalError错误。
URIError
URI不合法。
URI相关参数不正确时抛出的错误,主要涉及encodeURI、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()和unescape()六个函数。
2、两种export 方式
export default const a = 1
和
const a = 1
export default a
为什么前者这样无效,而后者却可以?
请给出正确的导出方法及其对应的导入方法。
原因:
export default命令的本质是将后面的值,赋给default变量,所以可以直接将一个值写在export default之后,而不能跟变量声明语句。
正确写法一:
export var a = 1
// 对应导入写法:
import a from xxx
正确写法二:
var a = 1
export default a
// 对应导入写法:
import a from xxx
3、补全下方css代码实现水平垂直居中
.center
width: 400px;
height: 400px;
background: #0f0;
/* todo... */
position: absolute;
top: 50%;
left: 50%;
margin-top: -200px;
margin-left: -200px;
4、手写indexOf
myIndexOf('hello yushi','world')
// 输出: -1
myIndexOf('hello yushi','yushi')
// 输出: 6
function myIndexOf(str, val)
// todo...
var strLen = str.length, valLen = val.length
for (var i = 0; i < strLen; i++)
var matchLen = i + valLen
var matchStr = str.slice(i, matchLen)
if (matchLen > strLen)
return -1
if (matchStr === val)
return i
return -1
以上是关于Yushi前端笔试题一期的主要内容,如果未能解决你的问题,请参考以下文章