面试题首页 > Web前端面试题

JS编程面试题

001已知ID的Input输入框,希望获取这个输入框的输入值,怎么做?

document.getElementById(“ID”).value;

002获取到页面中所有的checkbox怎么做?

var domList = document.getElementsByTagName(‘input’)
var checkBoxList = [];//返回的所有的checkbox
var len = domList.length;  //缓存到局部变量
while (len--) {  //使用while的效率会比for循环更高
  if (domList[len].type == ‘checkbox’) {
      checkBoxList.push(domList[len]);
  }
}

003设置一个已知ID的DIV的html内容为xxxx,字体颜色设置为黑色。

var dom = document.getElementById(“ID”);
dom.innerHTML = “xxxx”;
dom.style.color = “#000”;

004用js实现随机选取10–100之间的10个数字,存入一个数组,并排序。

var iArray = [];
funtion getRandom(istart, iend){
    var iChoice = istart - iend +1;
    return Math.floor(Math.random() * iChoice + istart;
}
//Math.random()就是获取0-1之间的随机数(永远获取不到1)
for(var i=0; i<10; i++){
    var result= getRandom(10,100);
    iArray.push(result);
}
iArray.sort();

005把两个数组合并,并删除第二个元素。

var array1 = ['a','b','c'];
var bArray = ['d','e','f'];
var cArray = array1.concat(bArray);
cArray.splice(1,1);

006怎样添加、移除、移动、复制、创建和查找节点?

1)创建新节点

 

createDocumentFragment(); //创建一个DOM片段
createElement(); //创建一个具体的元素
createTextNode(); //创建一个文本节点

 

2)添加、移除、替换、插入

appendChild();  //添加
removeChild();  //移除
replaceChild(); //替换
insertBefore(); //插入

3)查找

getElementsByTagName(); //通过标签名称
getElementsByName(); //通过元素的Name属性的值
getElementById(); //通过元素Id,唯一性

007字符串反转,如将 '12345678' 变成 '87654321'

//思路:先将字符串转换为数组 split(),利用数组的反序函数 reverse()颠倒数组,再利用 join() 转换为字符串

 

var str = '12345678';
str = str.split('').reverse().join('');

008将数字 12345678 转化成 RMB形式 如: 12,345,678

//思路:先将数字转为字符, str= str + '' ;

//利用反转函数,每三位字符加一个 ','最后一位不加; re()是自定义的反转函数,最后再反转回去!
for(var i = 1; i <= re(str).length; i++){
    tmp += re(str)[i - 1];
    if(i % 3 == 0 && i != re(str).length){
        tmp += ',';
    }
}

009生成5个不同的随机数;

//思路:5个不同的数,每生成一次就和前面的所有数字相比较,如果有相同的,则放弃当前生成的数字!

var num1 = [];
for(var i = 0; i < 5; i++){
    num1[i] = Math.floor(Math.random()*10) + 1; //范围是 [1, 10]
    for(var j = 0; j < i; j++){
        if(num1[i] == num1[j]){
            i--;
        }
    }
}

010去掉数组中重复的数字方法一;

//思路:每遍历一次就和之前的所有做比较,不相等则放入新的数组中!

rray.prototype.unique = function(){
    var len = this.length,
        newArr = [],
        flag = 1;
    for(var i = 0; i < len; i++, flag = 1){
        for(var j = 0; j < i; j++){
            if(this[i] == this[j]){
                flag = 0;        //找到相同的数字后,不执行添加数据
            }
        }
        flag ? newArr.push(this[i]) : '';
    }
    return newArr;
}

目录

返回顶部