JavaScript 常见面试题与核心用法解析

作者:流萤时间:2026-10-24 15:13:39浏览:611

本文整理了 JavaScript 开发中的常见面试题,涵盖表单取值、控件隐藏显示(visibility与display区别)、赋值与比较运算符、字符串字节长度计算、Alert换行、动态时间格式化及数组去重算法。同时详细解析了 setTimeout 与 setInterval 的执行机制与用法差异,提供完整代码示例与答案参考。

1.怎样取得表单<select>域中选中部分的文本?

<form name="a">


<select name="a" size="1" onchange="_sel(this)">


<option value="a">1</option>


<option value="b">2</option>


<option value="c">3</option>


</select>


</form>



<script type="text/javascript"><!--


function _sel(obj){


alert("显示文本:" + obj.options[obj.selectedIndex].text);


alert("值:" + obj.options[obj.selectedIndex].value);


}

// --></script>



2.javascript实现页面控件隐藏与显示的两种方法

JavaScript 控制页面控件隐藏显示的两种方法

在 JavaScript 中,控制页面控件隐藏与显示主要有两种方法,其核心区别在于隐藏后控件是否继续在页面布局中占据空间。


方法一:


document.all["PanelSMS"].style.visibility="hidden";


document.all["PanelSMS"].style.visibility="visible";


方法二:


document.all["PanelSMS"].style.display="none";


document.all["PanelSMS"].style.display="inline";


使用方法一隐藏控件后,页面中原有的位置仍被该控件占用,仅视觉上不可见,这类似于 .NET 验证控件中 Display=Static 的行为。


使用方法二隐藏控件后,页面中原有的位置不再被占用,后续元素会填补该空间,这类似于 .NET 验证控件中 Display=Dynamic 的行为。



3.var a = 10; var b = 20; var c = 10; alert(a = b); alert(a == b); alert(a == c);输出结果是什么?

以下是答案:a = b 是赋值,a == b是判断值是否相同lect>域的选择部分的文本?



4. 编写一个方法计算字符串的字节长度?

JavaScript 常见面试题与核心用法解析

<script language="javascript" type="text/javascript"><!--


new function(s)


{

if(!arguments.length||!s) return null;


if(""==s) return 0;


var l=0;


for(var i=0;i<s.length;i++)


{

if(s.charCodeAt(i)>255) l+=2;


else l++;


}

alert(l);


}("hello你好,我好,大家好!world!");


// --></script>



5. 如何控制alert对话框中的换行符

<script language="javascript" type="text/javascript"><!--


alert("hello\nworld");


// --></script>



6. 按照格式 xxxx年xx月xx日xx时xx分xx秒动态显示时间,要求不足10位补0?

<script language="javascript" type="text/javascript"><!--


new function()


{

with(new Date())


{

var t=function(a){return a<10?"0"+a:a;}


alert(getFullYear()+"年"+t(getMonth()+1)+"月"+t(getDate())+"日"+t(getHours())+"时"+t(getMinutes())+"分"+t(getSeconds())+"秒");


}
}

// --></script>



7. 编写一个方法去除数组中的重复元素

<script language="javascript" type="text/javascript"><!--


Array.prototype.strip=function()


{

if(this.length<2) return [this[0]]||[];


var arr=[];


for(var i=0;i<this.length;i++)


{

arr.push(this.splice(i--,1));


for(var j=0;j<this.length;j++)


{

if(this[j]==arr[arr.length-1])


{

this.splice(j--,1);


}
}
}

return arr;


}

var arr=["abc",85,"abc",85,8,8,1,2,5,4,7,8];


alert(arr.strip());


// --></script>



8.js中SetInterval与setTimeout的使用方法?

延时时间/交互时间是以豪秒为单位的(1000ms=1s)


setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次


SetInterva 在执行时,它从载入后,每隔指定的时间就执行一次表达式


1)基本用法:


执行一段代码:


var i=0;


setTimeout("i+=1;alert(i)",1000);


执行一个函数:


var i=0;


setTimeout(function(){i+=1;alert(i);},1000);


下面再来一个执行函数的:


var i=0;


function test(){


i+=1;


alert(i);


}

setTimeout("test()",1000);


也可以这样:


setTimeout(test,1000);


2)<script type="text/javascript"><!--


function sett()


{

document.body.innerHTML=Math.random();


}

setInterval("sett();", 500);


// --></script>

作者最新文章