javascript字符串笔试题
2019-03-26 10:29:00 weixin_33753003 阅读数 4


求质数

15930094-0e6a570e747b5e54.png
求质数

输入随机数进行累加或累乘

15930094-bfc398f795f7a685.png
方案1
15930094-f4846221c59dcb76.png
优化方法
15930094-8f43bc599d83621d.png
第三种方法

构造方法案例

15930094-dc094fa5eaf1a82e.png
构造方法案例

转载于:https://www.jianshu.com/p/6a070f0a13f3

2016-02-19 20:59:49 chenfujian87 阅读数 25

javascript 笔试题
http://www.aseoe.com/show-66-373-1.html
http://developer.51cto.com/art/201503/469678.htm
http://blog.jobbole.com/78738/
http://www.cnblogs.com/muyou/archive/2012/06/26/2563930.html

2016-03-08 14:46:29 xq2768637066 阅读数 4414

一、问答题

1、table标签中border,cellpadding;td标签中colspan,rowspan分别起什么作用?   

答案注释:border边界   

  cellpadding边距   

  colspan跨列数   

  rowspan跨行数

2、form中的input可以设置readonly和disable,请问这两项属性有什么区别?   

答案注释:  readonly不可编辑,但可以选择和复制   

  disable不能编辑复制选择   

3、JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?   

答案注释:警告窗口:alert   

确认窗口: confirm   

信息输入窗口: prompt

4、谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制

答案注释:sort的实现的功能类似JAVA的比较器,数据排序从多维数组的第一维开始排序可以自己定义排序方法,很不多的函数

 

5、简述DIV元素和SPAN元素的区别

答案注释:DIV是块元素,SPAN是内嵌元素。块元素相当于内嵌元素在前后各加一个<br>换行。其实,块元素和行内元素也不是一成不变的,只要给块元素定义

display:inline,块元素就成了内嵌元素,同样地,给内嵌元素定义了display:block就成了块元素了。

6结合

<span id=”outer”><span id=”inner”>text</span></span>

这段结构,谈谈

答案注释:innerHTML outerHTML innerText之间的区别。

innerHTML对象里面的HTML,outerHTML包括对象和里面的innerText对象里面的文本

 

7、说几条XHTML规范的内容(至少3条)

答案注释:属性加引号,不能有不匹配的标签,加定义

 

8、对Web标准化(或网站重构)知道哪些相关的知识,简述几条你知道的Web标准?

答案注释:网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的网站标准也分三方面:结构化标准语言,主要包括XHTML

和XML;表现标准语言主要包括CSS;行为标准主要包括对象模型(如W3C DOM)、ECMAScript等

 

 

二、单选题

9、以下哪条语句会产生运行错误:

A.var obj = ();

B.var obj = [];

C.var obj = {};

D.var obj = //;

答案:A

10、以下哪个单词不属于javascript保留字:

A.with

B.parent

C.class

D.void

答案:B

11、请选择结果为真的表达式:

A.null instanceof Object

B.null === undefined

C.null == undefined

D.NaN == NaN 

答案:C

三、多选题

12、请选择对javascript理解有误的:

A.JScript是javascript的简称

B.javascript是网景公司开发的一种Java脚本语言,其目的是为了简化Java的开发难度

C.FireFox和IE存在大量兼容性问题的主要原因在于他们对javascript的支持不同上

D.AJAX技术一定要使用javascript技术

答案:ABCD

13、foo对象有att属性,那么获取att属性的值,以下哪些做法是可以的:

A.foo.att

B.foo(“att”)

C.foo[“att”]

D.foo{“att”}

E.foo[“a” ”t” ”t”]

答案:ACE

14、在不指定特殊属性的情况下,哪几种HTML标签可以手动输入文本:

A.<TEXTAREA></TEXTAREA> 

B.<INPUT type=”text”/>

C.<INPUT type=”hidden”/>

D.<DIV></DIV>

答案:AB

15、以下哪些是javascript的全局函数:

A.escape

B.parseFloat

C.eval

D.setTimeout

E.alert

答案:ABC

16、关于IFrame表述正确的有:

A.通过IFrame,网页可以嵌入其他网页内容,并可以动态更改

B.在相同域名下,内嵌的IFrame可以获取外层网页的对象

C.在相同域名下,外层网页脚本可以获取IFrame网页内的对象 

D.可以通过脚本调整IFrame的大小

17、关于表格表述正确的有:

A.表格中可以包含TBODY元素

B.表格中可以包含CAPTION元素

C.表格中可以包含多个TBODY元素

D.表格中可以包含COLGROUP元素

E.表格中可以包含COL元素

答案:ABCDE

18、关于IE的window对象表述正确的有:

A.window.opener属性本身就是指向window对象

B.window.reload()方法可以用来刷新当前页面

C.window.location=”a.html”和window.location.href=”a.html”的作用都是把当前页面替换成a.html页面

D.定义了全局变量g;可以用window.g的方式来存取该变量

答案:ACD

 

 由“前端笔试题库”收集整理

2016-10-24 11:16:12 qq_26222859 阅读数 251


10道JavaScript笔试题你都会么

1、考察this

var length = 10;
function fn() {
  console.log(this.length);
}
var obj = {
  length: 5,
  method: function(fn) {
    fn();
    arguments[0]();
  }
};
obj.method(fn, 1);

输出:10 2

第一次输出10应该没有问题。我们知道取对象属于除了点操作符还可以用中括号,所以第二次执行时相当于arguments调用方法,this指向arguments,而这里传了两个参数,故输出arguments长度为2。

2、var和函数的提前声明

function fn(a) {
  console.log(a);
  var a = 2;
  function a() {}
  console.log(a);
}
fn(1);

输出:function a() {} 2

我们知道var和function是会提前声明的,而且function是优先于var声明的(如果同时存在的话),所以提前声明后输出的a是个function,然后代码往下执行a进行重新赋值了,故第二次输出是2。

3、局部变量和全局变量

var f = true;
if (f === true) {
  var a = 10;
}
function fn() {
  var b = 20;
  c = 30;
}
fn();
console.log(a);
console.log(b);
console.log(c);

输出:10 报错 30

这是个我犯了很久的错误,很长一段时间我都以为{...}内的新声明的变量是局部变量,后来我才发现function内的新声明的变量才是局部变量,而没有用var声明的变量在哪里都是全局变量。再次提醒切记只有function(){}内新声明的才能是局部变量,while{...}、if{...}、for(..) 之内的都是全局变量(除非本身包含在function内)。

4、变量隐式声明

if('a' in window) {
  var a = 10;
}
alert(a)

答案:10

前面我说过function和var会提前声明,而其实{...}内的变量也会提前声明。于是代码还没执行前,a变量已经被声明,于是 'a' in window 返回true,a被赋值。

5、给基本类型数据添加属性,不报错,但取值时是undefined

var a = 10;
a.pro = 10;
console.log(a.pro + a);
var s = 'hello';
s.pro = 'world';
console.log(s.pro + s);

答案:NaN undefinedhello

给基本类型数据加属性不报错,但是引用的话返回undefined,10+undefined返回NaN,而undefined和string相加时转变成了字符串。

6、函数声明优于变量声明

console.log(typeof fn);
function fn() {};
var fn;

答案:function

因为函数声明优于变量声明。我们知道在代码逐行执行前,函数声明和变量声明会提前进行,而函数声明又会优于变量声明,这里的优于可以理解为晚于变量声明后,如果函数名和变量名相同,函数声明就能覆盖变量声明。所以以上代码将函数声明和变量声明调换顺序还是一样结果。

7、判断一个字符串中出现次数最多的字符,并统计次数

hash table方式:

var s = 'aaabbbcccaaabbbaaa';
var obj = {};
var maxn = -1;
var letter;
for(var i = 0; i < s.length; i++) {
  if(obj]) {
    obj]++;
    if(obj] > maxn) {
      maxn = obj];
      letter = s[i];
    }
  } else {
    obj] = 1;
    if(obj] > maxn) {
      maxn = obj];
      letter = s[i];
    }
  }
}
alert(letter + ': ' + maxn);

正则方式:

var s = 'aaabbbcccaaabbbaaabbbbbbbbbb';
var a = s.split('');
a.sort();
s = a.join('');
var pattern = /(\w)\1*/g;
var ans = s.match(pattern);
ans.sort(function(a, b) {
  return a.length < b.length;});;
console.log(ans[0][0] + ': ' + ans[0].length);

8、经典闭包

<!-- 实现一段脚本,使得点击对应链接alert出相应的编号 -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
  <a href='#'> 第一个链接 </a> </br>
  <a href='#'> 第二个链接 </a> </br>
  <a href='#'> 第三个链接 </a> </br>
  <a href='#'> 第四个链接 </a> </br>
</body>

dom污染法:

<!-- 实现一段脚本,使得点击对应链接alert出相应的编号 -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
  <a href='#'> 第一个链接 </a> </br>
  <a href='#'> 第二个链接 </a> </br>
  <a href='#'> 第三个链接 </a> </br>
  <a href='#'> 第四个链接 </a> </br>
  <script type="text/javascript">
    var lis = document.links;
    for(var i = 0, length = lis.length; i < length; i++) {
      lis[i].index = i;
      lis[i].onclick = function() {
        alert(this.index);
      };
    }
  </script>
</body>

闭包:

<!-- 实现一段脚本,使得点击对应链接alert出相应的编号 -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
  <a href='#'> 第一个链接 </a> </br>
  <a href='#'> 第二个链接 </a> </br>
  <a href='#'> 第三个链接 </a> </br>
  <a href='#'> 第四个链接 </a> </br>
  <script type="text/javascript">
    var lis = document.links;
    for(var i = 0, length = lis.length; i < length; i++) {
      (function(i) {
        lis[i].onclick = function() {
          alert(i + 1);
        };
      })(i);
    }
  </script>
</body>

9、this

  1. function JSClass() {
  2.   this.m_Text = 'division element';
  3.   this.m_Element = document.createElement('div');
  4.   this.m_Element.innerHTML = this.m_Text;
  5.   this.m_Element.addEventListener('click', this.func);
  6.   // this.m_Element.onclick = this.func;
  7. }
  8. JSClass.prototype.Render = function() {
  9.   document.body.appendChild(this.m_Element);
  10. }
  11. JSClass.prototype.func = function() {
  12.   alert(this.m_Text);
  13. };
  14. var jc = new JSClass();
  15. jc.Render();  // add div
  16. jc.func();  // 输出 division element
  17. //click添加的div元素division element会输出underfined,为什么?

答案:division element undefined

第一次输出很好理解,第二次的话仔细看,this其实已经指向了this.m_Element,因为是this.m_Element调用的addEventListener函数,所以内部的this全指向它了。可以试着加上一行代码this.m_Element.m_Text = 'hello world',就会alert出hello world了。

10、split

请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象,如: var url = “http://witmax.cn/index.php?key0=0&key1=1&key2=2″

  1. function parseQueryString(url) {
  2.   var obj = {};
  3.   var a = url.split('?');
  4.   if(a.length === 1) return obj;
  5.   var b = a[1].split('&');
  6.   for(var i = 0, length = b.length; i < length; i++) {
  7.     var c = b[i].split('=');
  8.     obj] = c[1];
  9.   }
  10.   return obj;
  11. }
  12. var url = 'http://witmax.cn/index.php?key0=0&key1=1&key2=2';
  13. var obj = parseQueryString(url);console.log(obj.key0, obj.key1, obj.key2);  // 0

2010-12-17 08:26:43 szz0429 阅读数 21
一、单选题
1
以下哪条语句会产生运行错误:(A
   A.var obj = ( );
B.var obj = [ ];
C.var obj = { };
D.var obj = / /;
2以下哪个单词不属于javascript保留字:(B
A. with
B. parent
C. class
D. void
3
请选择结果为真的表达式:(C
A. null instanceof Object
B. null === undefined
C. null == undefined
D. NaN == NaN

二、不定项选择题
4
请选择对javascript理解有误的:(ABCD)
A. JScript
javascript的简称
B. javascript
是网景公司开发的一种Java脚本语言,其目的是为了简化Java的开发难度
C. FireFox
IE存在大量兼容性问题的主要原因在于他们对javascript的支持不同上
D. AJAX
技术一定要使用javascript技术
5
foo对象有att属性,那么获取att属性的值,以下哪些做法是可以的:(ACE
A. foo.att
B. foo(“att”)
C. foo[“att”]
D. foo{“att”}
E. foo[“a”+”t”+”t”]
6
在不指定特殊属性的情况下,哪几种HTML标签可以手动输入文本:(AB
A. <TEXTAREA></TEXTAREA>
B. <INPUT type=”text”/>
C. <INPUT type=”hidden”/>
D. <DIV></DIV>
7
以下哪些是javascript的全局函数:(ABC
A. escape
B. parseFloat
C. eval
D. setTimeout
E. alert
8
关于IFrame表述正确的有:(ABCD)
A.
通过IFrame,网页可以嵌入其他网页内容,并可以动态更改
B.
在相同域名下,内嵌的IFrame可以获取外层网页的对象
C.
在相同域名下,外层网页脚本可以获取IFrame网页内的对象
D.
可以通过脚本调整IFrame的大小
9
关于表格表述正确的有:(ABCDE
A.
表格中可以包含TBODY元素
B.
表格中可以包含CAPTION元素
C.
表格中可以包含多个TBODY元素
D.
表格中可以包含COLGROUP元素
E.
表格中可以包含COL元素
10
关于IEwindow对象表述正确的有:(ACD
A. window.opener
属性本身就是指向window对象
B. window.reload()
方法可以用来刷新当前页面
C. window.location=”a.html”
window.location.href=”a.html”的作用都是把当前页面替换成a.html页面
D.
定义了全局变量g;可以用window.g的方式来存取该变量

三、问答题:
1
、谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制
sort的实现的功能类似JAVA的比较器,数据排序从多维数组的第一维开始排序
可以自己定义排序方法,很不多的函数
2
、简述DIV元素和SPAN元素的区别。
DIV是块元素,SPAN是内嵌元素。块元素相当于内嵌元素在前后各加一个<br>换行。其实,块元素和行内元素也不是一成不变的,只要给块元素定义display:inline,块元素就成了内嵌元素,同样地,给内嵌元素定义了display:block就成了块元素了。
(参考:http://blog.sina.com.cn/s/blog_4bb4d6a101000a0r.html)


3、结合<span id=”outer”><span id=”inner”>text</span></span>这段结构,谈谈innerHTML outerHTML innerText之间的区别。
这个问题只要写一下看的很 清楚
innerHTML
对象里面的HTML,outerHTML包括对象和里面的
innerText
对象里面的文本
4
、说几条XHTML规范的内容(至少3条)
属性加引号,不能有不匹配 的标签,加定义
5
、对Web标准化(或网站重构)知道哪些相关的知识,简述几条你知 道的Web标准?
    
W3C标准等
四、程序题:
1
、完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第 几个单选框。
<html>
<body>
<script>
function foo() {
//
在此处添加代码
var rg = document.getElementsByName("radioGroup");
for( var i = 0; i < rg.length; i++ )
{
if( rg[i].checked )
{
alert("
你选择了第" + (i+1) + "个单选框");
}
}
return false;
}   
</script>
<body>
<form name="form1" onsubmit="return foo();">
<input type="radio" name="radioGroup"/>
<input type="radio" name="radioGroup"/>
<input type="radio" name="radioGroup"/>
<input type="radio" name="radioGroup"/>
<input type="radio" name="radioGroup"/>
<input type="radio" name="radioGroup"/>
<input type="submit"/>
</form>
</body>
</html>
2
、填充注释部分的函数体,使得foo()函数调用弹出成功的对话框。代码应尽量简短。
<html>
<body>
<script>
function foo() {
var str = reverse('a,b,c,d,e,f,g');
alert(str);
if (str == 'g,f,e,d,c,b,a') alert('
成功');
else alert('
失败');
}
   function reverse(str)
{
//
在 此处加入代码,完成字符串翻转功能
var spl = str.split(',');
var newstr="";
for(i=spl.length-1;i>=0;i--)
{
newstr+=spl[i]+',';
}
newstr=newstr.substring(0,newstr.length-1)
return newstr;
}
</script>   
</HEAD>
<BODY>
<INPUT type="button" value="str" onclick="foo()"/>
</BODY>
</HTML>

JavaScript笔试题

阅读数 181

1.有关变量作用域的提升(function(){varx=y=1;})();alert(x);alert(y);此处思考五分钟。。。。答案:undefined1解析:varx=y=1;等价于y=1;varx=1;此时y为一个全局变量,函数外可以访问。x为一个局部变量,函数外不可以访问。知识点:有关变量作用域的...

博文 来自: Jane_96

javascript笔试题(3)

阅读数 707

做完这6道题,不得不感叹javascript的强大灵活了。1.找出数字数组中最大的元素(使用Match.max函数)vara=[111,2,6,4,22,5,99,3];console.log(Math.max.apply(null,a));2.转化一个数字数组为function数组(每个function都弹出相应的数字)vara=[111,2,6,4,

博文 来自: u014787301

JavaScript面试笔试题

阅读数 22

一、不定项选择题(每题3分,共30分)1声明一个对象,给它加上name属性和show方法显示其name值,以下代码中正确的是(  D )A.var obj=[name:"zhangsan",show:function(){alert(name);}];B.var obj={name:"zhangsan",show:”alert(this.name)”};C....

博文 来自: weixin_34260991

Javascript数据类型(笔试题)

阅读数 411

NaN:保留字(表明数据类型不是数字) undefined:对象属性或方法不存在,或声明了变量但从未赋值。 即当你使用了对象未定的属性或者未定义的方法时或当你声明一个变量,但你确从未对其进行赋值,便对 其进行操作(当然赋值除外),会有"undefined"提示null值指出一个变量中没有包含有效的数据。 产生null的原因是:对一个变量显式地赋值为null。包含

博文 来自: wugang806894

JavaScript 笔试题1

阅读数 41

//笔试题1varstrTest=2+3+"Hello,World"+4+5+"MyStep!";console.log("strTest:"+strTest);//5Hello,World45MyStep //笔试题2varobjTest={a:1,b:2,c:3};//怎么把对象转换成数组//方法一functionobjToA...

博文 来自: qq_28364071
没有更多推荐了,返回首页