前端面试题汇总2
来源:互联网 发布:新经济政策知乎 编辑:程序博客网 时间:2024/05/22 14:17
11、JavaScript中如何检测一个变量是一个string类型?
string类型有两种生成方式
(1)var str="hellow";
(2)var str1=new String("world");
function isString(str){ return (typeof str=="string"||str.constructor==String);}那么如何检测一个array数组呢?
我们知道typeof数组返回的是object,所以不能用typeof;
第一种:instanceof
var arr=[1,2,3];alert(arr instanceof Array?alert("true"):alert("false"));第二种:constructor
function isArray(o){ return o.constructor==Array;}第三种:特性判断法
我们可以通过数组的一些特性来判断其类型,比如typeof是object,length是number类型,拥有splice方法等。
第四种:
function isArray(obj){ return Object.prototype.toString.call(obj)==='[object Array]';}
12、网页中实现一个计算当年还剩多少时间的倒数计时程序,要求网页上实时动态显示“XX年还剩XX天XX时XX分XX秒”
<p id="time"></p><script> window.setInterval("counter()",1000); function counter(){ var date=new Date(); var year=date.getFullYear(); var date2=new Date(year,12,31,23,59,59); var time=(date2-date)/1000; var day=Math.floor(time/(24*60*60)); var hour=Math.floor(time%(24*60*60)/(60*60)); var minute=Math.floor(time%(24*60*60)%(60*60)/60); var second=Math.floor(time%(24*60*60)%(60*60)%60); var str=year+"年还剩"+day+"天"+hour+"时"+minute+"分"+second+"秒"; var p=document.getElementById("time"); p.innerText=str; }</script>13、鼠标单击button1后将button1移动到button2后面
<div> <input type="button" value="button1" id="button1" onclick="change(this);"> <input type="button" value="button2" id="button2"></div><script> function change(o){ var parent= o.parentNode; parent.appendChild(o); }</script>14、下面css标签在JavaScript中调用应如何拼写,border-left-color,-moz-viewport
borderLeftColor
mozViewport
15、如何控制alert中的换行
用\n
alert("p\np");16、请事先,鼠标点击页面中的任意标签,alert该标签的名称(注意兼容性)
window.onclick= function (e) { var e=e||window.event; var o= e.srcElement|| e.target; alert(o.tagName);}17、什么是闭包?下面这个ul,如何点击每一列的时候alert其index?
内部函数被定义它的函数的外部区域调用时就产生了闭包
<ul id="ul">
<li>这是第一条</li>
<li>这是第二条</li>
<li>这是第三条</li>
</ul>
<ul id="ul"> <li>这是第1条</li> <li>这是第2条</li> <li>这是第3条</li></ul><script> (function a() { var index=0; var ul=document.getElementById("ul"); for(var i=0;i<ul.childNodes.length;i++){ if(ul.childNodes[i].nodeName=="LI"){ var li=ul.childNodes[i]; li.onclick= function () { index++; alert(index); } } } })();</script>18、js中如何定义class,如何扩展prototype?
el.className="xxx";
A.prototype.B=C;
A是某个构造函数的名字
B是这个构造函数的属性
C是想要定义的属性
19、如何添加HTML元素的事件,有几种方法?
(1)为HTML元素的事件属性赋值
(2)在js中使用el.onxxx=function(){};
(3)使用DOM2的添加事件的方法addEventListener或attachEvent
20、document.write和innerHTML的区别?
document.write只能重绘整个页面
innerHTML可以重绘页面的一部分
0 0
- 前端面试题汇总2
- 前端面试题汇总
- 前端面试题汇总
- 前端面试题汇总
- 前端面试题汇总
- 前端工程师面试题汇总
- 前端工程师面试题汇总
- 前端面试题汇总1
- 前端面试题汇总3
- 前端常见面试题汇总
- 前端面试题整理汇总
- 前端面试题汇总01
- 前端工程师面试题汇总
- 前端面试题整理汇总
- 前端面试题精华汇总
- 前端面试题之汇总
- 前端面试题-基础理论汇总
- Web前端面试题汇总
- 【R语言】【版本】更新
- c++(14)处理类型--auto类型说明符
- input 的onChang失效问题
- 【android学习】handler用法与应对内存泄露
- 推荐系统开源软件列表汇总和点评
- 前端面试题汇总2
- O(nlog(n)) LCS 白书 P66例题27 UVa10635
- spark必须知道的几个观点
- function - config
- Linux下利用backtrace追踪函数调用堆栈以及定位段错误
- NodeJs实现数字翻转
- 糗百爬虫
- div+css布局小结
- dp和px互相转换的方法