JavaScript 题型问答有答案参考

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控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位

  方法一:

  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. 编写一个方法 求一个字符串的字节长度?

  <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>