卓动科技 - Coco游戏开发实习生面试总结
卓动科技 - Coco游戏开发实习生面试总结
js的基本类型以及常用基本类型的内置对象
这个没啥难度,
js的基本类型有:Null, Undefined, Number, String, Boolean, Symbol(es6新的特性)。
复杂的类型就是引用类型,也就是常说的对象。
基本类型的内置对象有:Number, Array, String,Boolean,RegExp,Function等。
输出打印顺序
1 | console.log(1); |
这个也不复杂,setTimeout的回调会到下一次的宏任务才执行。
所以输出的顺序为 1 3 5 2 4。
输出打印
1 | function fn(x) { |
问x.x,y.x输出啥?
这道题当时粗心了,没在意这两个x,结果掉坑里了。
这里的fn(3)返回了window。
var x = window等价于window.x = window。
所以x.x输出的是window.x也就是window。
而y.x就简单了,和前面的没啥关系,函数内部把x赋值为4。
所以y.x的输出的就是4。
输出数组
1 | var arr = []; |
这题我就记得这么多了,这题想一下还是不难的。
没赋值的位置就输出undefined,所以第一个输出undefined。
给arr[500]赋值为1,则现在数组的索引为0 - 500。
所以长度(即输出)为501。
arr["1000"] = 1也是给第1001个位置赋值。
所以输出的长度就是为1001。
html语义化
问这个语义化有什么用。
这里我答了能够让浏览器更好的识别内容,并且对辅助设备有作用,比如一些盲人的设备。
如果一个div模拟input,那么设备可能不知道。
而直接使用input则可以相应的提示“这里需要输入东西”的语言之类的(后面看百度才知道是叫屏幕阅读器…)。
感觉这个答得太粗糙了。
看了下网上的回答,可以总结为以下几点:
- 有利于
SEO搜索引擎; - 有利于屏幕阅读器理解网页的内容;
- 在
css,js失效时网页不至于太难看,应为语义化的标签一般都有默认的样式; - 有利于代码的编写,整体使用更少的标签。
DOM题
创建10个a节点,点击a节点输出他的索引序号
1 | for (let i = 0; i < 10; i++) { |
这个没啥难度…,还是写的出来的。