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

写在前面:。。。。

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");
}

 

 

转载于:https://www.cnblogs.com/mingwaer/p/3840583.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473247.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[原创][R语言]股票分析实战[4]:周级别涨幅趋势的相关性

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX QQ联系: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、D…

前端:实现手机左右滑动效果

需求&#xff1a;手机可以左右滑动&#xff0c;显示商品或者div信息 原理&#xff1a;建立两个盒子&#xff0c;一个是可以看到的手机屏幕盒子&#xff0c;一个是自己设定好的盒子&#xff0c;左右滑动&#xff0c;只显示与手机屏幕盒子交集的部分 代码&#xff1a; <div …

天池 在线编程 双向取数(博弈DP)

文章目录1. 题目2. 解题1. 题目 https://tianchi.aliyun.com/oj/245679029019779851/254275128279634585 有一个长度为n的数列arr&#xff0c; 甲乙两个人每次可以从头或者从末尾取一个数&#xff0c;双方都想让自己取数之和尽量多&#xff0c; 甲先取数&#xff0c;问甲乙在…

利用索引数组排序 不改变原数组值的位置

1.定义一个和要排序数组a[10]长度一样的数组, 这里定义为10&#xff0c;index[10] {0&#xff0c; 1&#xff0c; 2&#xff0c; 3&#xff0c; 4&#xff0c; 5&#xff0c; 6&#xff0c; 7&#xff0c; 8&#xff0c; 9}&#xff0c;值为10个下标。 2. 用冒泡排序&#xff…

前端demo:实现背景半透明,div与文本正常显示

一、需求&#xff1a; 背景实现透明度0.3&#xff0c;其他组件正常显示 二、代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-widt…

天池 在线编程 布尔表达式求值(栈)

文章目录1. 题目2. 解题1. 题目 https://tianchi.aliyun.com/oj/245679029019779851/254275128279634588 给定一个字符串代表一个仅包含"true","false","or","and"的布尔表达式。 你的任务是将这个表达式的值求出&#xff0c;返回&q…

Schema详解

XML Schema 简介XSD 为何使用XML Schema 是基于 XML 的 DTD 替代者。XML Schema 可描述 XML 文档的结构。XML Schema 语言也可作为 XSD&#xff08;XML Schema Definition&#xff09;来引用。在继续学习之前&#xff0c;您需要对下面的知识有基本的了解&#xff1a;HTML / XHT…

整理总结一下:git恢复本地误删除的分支

一、使用git log -g查看日志&#xff0c;找回之前提交的commit,并记下commit_id git log -g 二、新建分支newbranch&#xff0c;把commit_id分支复制到新的分支上 git branch newbranch commit_id 三、切换新建分支newbranch&#xff0c;检查文件 git checkout newbran…

LeetCode 1074. 元素和为目标值的子矩阵数量(2d前缀和+哈希)

文章目录1. 题目2. 解题1. 题目 给出矩阵 matrix 和目标值 target&#xff0c;返回元素总和等于目标值的非空子矩阵的数量。 子矩阵 x1, y1, x2, y2 是满足 x1 < x < x2 且 y1 < y < y2 的所有单元 matrix[x][y] 的集合。 如果 (x1, y1, x2, y2) 和 (x1, y1, x2…

判断平台是windows还是linux,用这个方法就行了

一、需求&#xff1a; 因为代码是在windows上写的&#xff0c;但是需要部署到linux上&#xff0c;所以有些文件路径是不一样的&#xff0c;那么该怎么解决呢 二、解决方法&#xff1a; python是跨平台的。在Windows上&#xff0c;文件的路径分隔符是\&#xff0c;在Linux上是…

最炫国漫《雾山五行》用 Python 了解一下到底有多优秀

看动漫的小伙伴应该知道最近出了一部神漫《雾山五行》&#xff1a; 1、极具特色的水墨画风和超燃的打斗场面广受好评 2、首集播出不到 24 小时登顶 B 站热搜第一&#xff0c;豆瓣开分 9.5&#xff0c; 火爆程度可见一斑&#xff0c;就打斗场面而言&#xff0c;说是最炫动漫也…

LeetCode 982. 按位与为零的三元组(位运算+计数)

文章目录1. 题目2. 解题1. 题目 给定一个整数数组 A&#xff0c;找出索引为 (i, j, k) 的三元组&#xff0c;使得&#xff1a; 0 < i < A.length 0 < j < A.length 0 < k < A.length A[i] & A[j] & A[k] 0&#xff0c;其中 & 表示按位与&…

Windows下免费软件的首选推荐

PS&#xff1a;以下按装机顺序排列&#xff0c;“|”号后面是备选软件。 启动引导&#xff1a;EasyBCD 虚拟机&#xff1a;VirtualBox Linux&#xff1a;Zorin | Linux Mint(Mate) | Ubuntu 驱动工具&#xff1a;驱动精灵 | 鲁大师 虚拟光驱&#xff1a;DAEMON Tools Lite 系统…

雷军一往无前的十年(小米十周年公开演讲)附赠《一往无前》电子书籍

▲雷军 | 中国企业家俱乐部理事、小米科技董事长 做全球最好的手机&#xff0c;只卖一半的价钱&#xff0c;让每个人都能买得起——如何能够实现这个看上去、听上去都不靠谱的目标&#xff1f; 来源 | 雷军公众号分享 | 雷军 2020年8月11日19:30&#xff0c;小米十周年&#x…

LeetCode 1147. 段式回文(贪心)

文章目录1. 题目2. 解题1. 题目 段式回文 其实与 一般回文 类似&#xff0c;只不过是最小的单位是 一段字符 而不是 单个字母。 举个例子&#xff0c;对于一般回文 "abcba" 是回文&#xff0c;而 "volvo" 不是&#xff0c;但如果我们把 "volvo"…

利用python批量修改文件名称

一、基础知识&#xff1a; 通过查阅资料os模块中rename和renames都可以做到 他们的区别为.rename:只能修改文件名 renames:可以修改文件名,还可以修改文件上级目录名称 另一个用到的方法是os.listdir(path) path为路径 此方法可以将指定路径文件夹中的文件名录入一个列表…

多个域名向主域名自动跳转的Nginx配置

if ($host "bbs.umiwi.com"){ rewrite ^/(.*)$ http://bbs.youmi.cn/$1 permanent; } 多个域名向主域名自动跳转的Nginx配置&#xff0c;可用于URL搜索引擎优化等。nginx语法检测特别严格&#xff0c;if和后面括号以及变量等号这些元素都要有空格&#xff0c;否则会…

LeetCode 464. 我能赢吗(状态压缩+记忆化递归 / 博弈)

文章目录1. 题目2. 解题1. 题目 在 “100 game” 这个游戏中&#xff0c;两名玩家轮流选择从 1 到 10 的任意整数&#xff0c;累计整数和&#xff0c;先使得累计整数和达到或超过 100 的玩家&#xff0c;即为胜者。 如果我们将游戏规则改为 “玩家不能重复使用整数” 呢&…

简单聊一聊Python工程师任职要求及未来发展方向

一、不同阶段Python工程师任职要求及标准 1、新手入门 任职要求&#xff1a; 熟练掌握python编程语言&#xff0c;熟悉flask或django开发框架者&#xff1b; 一名Python开发工程师的职业规划 熟练使用Windows系统&#xff0c;能使用Word&#xff0c;Excel&#xff0c;Powe…

总结python换源的方法:Linux与windows系统

一、命令行方式&#xff1a; 1、清华源地址&#xff1a; 可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple 例如&#xff1a;pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gevent&#xff0c;这样就会从清华这边的镜像去安装gevent库。 …