用生命谱写代码的赞歌

0%

一些常用的面试题总结

面试

作为一名程序员,在实际工作中难免会遇到各种各样的面试,总结一些有意思的面试题是一种习惯。

判断一个单词是否是回文

1
2
3
4
5
var str = 'abcdcba'
function checkPalindrome(str) {
return str === str.split('').reverse().join('')
}
checkPalindrome(str) // true

手写 document.getElementByClassName()

1
2
3
4
5
6
7
8
9
10
11
function getByClassName(obj, cls) {
// obj 目标元素,cls 要获取元素的 class 名
var elem = obj.getElementByTagName('*');
var result = [];
for (var i = 0; i < elem.length; i++) {
if (elem[i].className === cls) {
result.push(elem[i]);
}
}
return result;
}

遍历文档中所有的文本节点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 递归遍历
var textArr = new Array();
function search(elem) {
var nodeList = elem.childNodes;
for (var i = 0; i < nodeList.length; i++) {
if (nodeList[i].nodeType == Node.TEXT_NODE && nodeList[i].nodeValue.trim() !== '') {
textArr.push(nodeList[i].nodeValue);
} else if (nodeList[i].nodeType == Node.ELEMENT_NODE) {
search(nodeList[i])
}
}
}
serch(document.body);
console.log(textArr);