• 前端笔试题总结---持续更新


    写在前面:。。。。

    1字符串逆序

    function reverse(str){
        return str.split("").reverse().join("");//直接用函数
        
        var str1="";//从后向前输出
        for(var i=str.length-1;i>=0;i--){
            str1+=str[i];
        }
        return str1;
            
        var len=str.length;//字符串原地逆序
        for(var i=0;i<len;i++){
          str[i]=str[len-1-i];
        }
        return str;
    }

    2弹出对话框提示当前选中的是第几个单选框

    <input type="radio" name="radioGroup" onclick="foo()"/>
    <input type="radio" name="radioGroup" onclick="foo()"/>
    <input type="radio" name="radioGroup" onclick="foo()"/>
    <input type="radio" name="radioGroup" onclick="foo()"/>
    <input type="radio" name="radioGroup" onclick="foo()"/>
    function foo(){
        var reg=document.getElementsByName("radioGroup");
        //获取一组有相同名称的单选框dom对象
        for(var i=0;i<reg.length;i++){
            if(reg[i].checked){
                alert("第"+(i+1)+"单选框");
            }
        }
    }

    3求y和z 的值是多少?

     var x = 1; 
     var y = 0; 
     var z = 0; 
     function add(n){n=n+1;} 
     y = add(x); 
     //alert(y);
     function add(n){n=n+3;} 
     z = add(x);
     //alert(z);
    //题目分析,此题的陷阱在于函数都没有返回值。所以赋值后都是undefined。若给函数都加上return,其结果都将变成4,这是因为后面同名称的函数会覆盖前面一个。

     4如何获取表单<select>(下拉列表)域的选择部分的文本和value值?

      <select  size="1" onchange="sel(this)">
         <option value="a">1</option>
        <option value="b">2</option>
        <option value="c">3</option>
      </select>
    function sel(obj){
        var obj=document.getElementsByTagName("select");
        //select下是一个options数组,拥有change事件的还有text和textarea 
        alert("文本为:"+obj.options[obj.selectedIndex].text);
        alert("值为:"+obj.options[obj.selectedIndex].value);
        }

    5javascript怎样选中一个checkbox,怎样设置它无效和不能选择?

    function check(){
        var obj=document.getElementsByName("cb1");
        for(var i=0;i<obj.length;i++){
            obj[i].checked="true";//某一个选中
            obj[i].disabled="true";//选择失效
        }

    6全选(或者全不选)的所有指定名称的checkbox 

    function option(state,name){
        var obj=document.getElementsByName("name");
        for(var i=0;i<obj.length;i++){
            obj[i].checked=state;
        }
    }

    7全选(或者全不选)的所有的checkbox 

    function selectAll(state){
        var obj=document.getElementsByTagName("input"){//获取所有的input标签对象
            for(var i=0;i<obj.length;i++){
                if(obj[i].type="checkbox"){//过滤出我们需要的checkbox类型
                    obj[i].checked=state;
                }
            }
        }
    }

    8全选指定值(可能有多个值,以逗号分隔)的checkbox 

    function select(value,name){
        var obj=document.getElementsByName("name"){
            var values=value.split(",")//把字符串转化为数组
            for(var i=0;i<values.length;i++){
                for(var j=0;j<obj.length;j++){
                    if(obj[j].value==values[i]){//对每一个指定的值做判断
                        obj[j].checked=true;
                    }
                }
            }
        }
    }

     9补充按钮事件的函数,确认用户是否退出当前页面,确认之后关闭窗口;

    function confirm(){
        if(confirm("确认退出?")){
            window.close();
        }
    }

    10 写出简单描述html标签(不带属性的开始标签和结束标签)的正则表达式,并将以下字符串中的html标签去除掉

       var str = "<div>这里是div<p>里面的段落</p></div>";

    function replaceReg(str){
        var reg = /</?w+/?>/gi;//这里/是转义/防止与正则表达式的结束符冲突,后面的问号是可选(起始标签和结束标签),后面的可选是匹配单标签<br/>等。这是个全局匹配,标签部分大小写
          alert(str.replace(reg,""));//字符串替换函数
    }

    11将文档中className有“test”的td标签背景色设为黄色

    var obj=document.getElementsByTagName("td");
        for(var i=0;i<obj.length;i++){
            if(obj[i].className.indexOf("test")!=-1){
                obj[i].style.backgroundColor="yellow";
            }
        }    

    12用javascript实现控制一个文本框的输入字数限制,超出字数限制文本框边框飘红显示

    var oInput=document.getElementById("a");
    oInput.onkeyup=function(){
        this.style.border=this.value.length>5?"1px solid red":"";
    }

    13让文本输入框的宽度随着里面的内容多少自动伸缩自适应

    var oInput = document.getElementById("autoInput"); 
    var sSize = oInput.getAttribute("size"); 
    oInput.onkeydown = function(){ 
        var sInputValue = oInput.value; 
        if(sInputValue === "" || sInputValue.length <= sSize || sInputValue.length > 60){ return; }
        else{ oInput.setAttribute("size",sInputValue.length); } 
    }

     14使用Javascript打印出1-10000之间的所有素数

    function sushu(num){
        var flag=true;
        for(var i=2;i<num;i++){
            if(num%i==0){
                flag=false;
                break;
        }
    }
        return flag;    
    }
    var arr=[1]
    for(var i=3;i<=1000;i++){
        var k=sushu(i);
        if(k){
            arr.push(i);
        }
    }

    15 我们把一个数字倒着读和原数字相同的数字称之为对称数,(例如1,121,88,8998),不考虑性能,请找出1—10000之间的对称数

    function duichen(num){
        var flag=false;
        var str=num.toString();
        var str1="";
        for(var i=str.length-1;i>=0;i--){
            str1+=str[i];
        }
        if(str==str1){
            flag=true;
        }else{
            flag=false;
        }
        return flag;
    }
    alert(duichen(121));
    var arr=[];
    for(var i=1;i<=1000;i++){
        var k=duichen(i);
        if(k){
            arr.push(i);
        }
    }

    16setTimeout调用函数

    var obj=function(msg){
         this.msg=msg;
         this.shout=function(){
             alert(this.msg);
         }
         this.waitAndShout=function(){
             //每隔五秒调用上面的shout方法
             var self=this;
             //由于setTimeout是全局方法,其this指向window,用that保存当前的执行上下文
             setTimeout(function(){
                 self.shout();
             },1000)
         }
     }

    17把字符串转化为JSON对象

     var str="haha=123&hehe=234&key=456";
     var arr=str.split("&");
     var obj={};
     for(var i=0;i<arr.length;i++){
         var arr1=arr[i].split("=");
         obj[arr1[0]]=arr1[1];
     }

     18在匿名函数中调用自身,例如实现阶乘

    var a=(function (num){
        if(num==1){
            return 1;
        }else{
            return num*arguments.callee(num-1)//调用函数自身
        }
    })(5);

    19截取字符串abcdefg的efg

    var str="abcdefg";
    if(/efg/.test(str)){
        var str1=str.slice(str.indexOf("efg")) ;
        //字符串切割用slice。获取子字符串在源字符串中的位置用indexOf
    }

    20判断一个字符串中出现次数最多的字符,统计这个次数

    var str="abcdefgacda";
    function findMax(str){
        var obj={};
    for(var i=0;i<str.length;i++){
        if(!obj[str[i]]){
            obj[str[i]]=1;
        }else{
            obj[str[i]]+=1;
        }
    }
    var max=0;
    var s;
    for(var key in obj){
        if(obj[key]>max){
            max=obj[key];
            s=key;
        }
    }
    var str="字符是:"+s+"频率是:"+max;
    alert(str);
    }

    21去除数组中的重复元素

    function unique(a){
        var obj={};
        var result=[];
        for(var i=0;i<a.length;i++){
            if(!obj[a[i]]){
                obj[a[i]]=1;
                result.push(a[i]);
            }
        }
        alert(result);
    }

     22简单实现js中继承

    function Animal(name){
        this.name=name;//共有属性
    }
    Animal.prototype.getName=function(){
        alert(this.name);
    }
    function Dog(name,age){
        Animal.call(this,name);//继承属性
        this.age=age;//自己的方法
    }
    Dog.prototype=new Animal();
    Dog.prototype.contructor=Dog;
    Dog.prototype.getAge=function(){
        alert(this.age);//自己的方法
    
    }
    var xiaogou=new Dog("xiao",21);
    xiaogou.getName();
    xiaogou.getAge();

    24FF要实现outerHTML还需要特殊处理

    function getOutHtml(id){
        var el=document.getElementById("id");
        var oDiv=document.createElement("div");
        var htm=el.cloneNode(true);
        oDiv.appendChild("htm");
        var result=oDiv.innerHTML;
        document.removeChild("oDiv");
    }
  • 相关阅读:
    记录下python学习中,容易弄混和实用的知识点
    操作系统简史
    计算机结构
    计算机结构
    电脑简史
    电脑简史
    为什么学Python
    为什么学Python
    树莓派更换更新国内源
    树莓派更换更新国内源
  • 原文地址:https://www.cnblogs.com/mingwaer/p/3840583.html
Copyright © 2020-2023  润新知