一套完整的javascript面试题--答案

 

一、 单选题
1
、以下哪条语句会产生运行错误:( a
A.var obj = ();//
语法错误
B.var obj = [];//
创建数组
C.var obj = {};//
创建对象
D.var obj = //;

原因: var obj = new Array ();是对的; JavaScript 中大括号表示创建对象。 var obj = { id:1, name:"jacky" };alert(obj.name); 上例表示创建一个具有属性 id (值为 1)、属性 name(值为 jacky)的对象。属性名称可以用引号引起来成 "id"、"name",也可以不引。

当然除了属性,也可以创建方法。

window.οnlοad=function()
        {
       // var obj = ();
        var obj1 = [];//object
        var obj2 = {};//object
        var obj3 = //;//undefine
        
        alert(typeof(obj1));
        alert(typeof(obj2));
        alert(typeof(obj3));

        }

function  showName()
{
    alert(
this .name);
}

 
var  obj  =   { id: 1 , name: " jacky " , showName:showName } ;
obj.showName();

2 、以下哪个单词不属于 javascript 保留字:( b
A.with
B.parent
C.class
D.void

以下的保留字不可以用作变量,函数名,对象名等,其中有的保留字是为以后JAVASCRIPT扩展用的.

·  abstract

·  boolean

·  break

·  byte

·  case

·  catch

·  char

·  class

·  const

·  continue

·  default

·  do

·  double

·  else

·  extends

·  false

·  final

·  finally

·  float

·  for

·  function

·  goto

·  if

·  implements

·  import

·  in

·  instanceof

·  int

·  interface

·  long

·  native

·  new

·  null

·  package

·  private

·  protected

·  public

·  return

·  short

·  static

·  super

·  switch

·  synchronized

·  this

·  throw

·  throws

·  transient

·  true

·  try

·  var

·  void

·  while

·  with

3 、请选择结果为真的表达式:( c
A.null instanceof Object
if (!(null instanceof Object)) 是真的
B.null === undefined
C.null == undefined
D.NaN == NaN

(1) null确实可以理解为原始类型,不能当 Object理解!

null,int,float..... 等这些用关键字表示的类型 , 都不属于 Object.

至于可以把 null 作为参数 , 只是特殊规定而已 .

可以这么理解 :

对象的引用代表的是一个内存的值,null是一个空引用,可以理解为内存的值为0;按这个意思对代码

(2) function f1(){

    

}  

1.    alert(f1 instanceof Function);//true   

2.    alert(f1 instanceof Object);//true   

3.    alert(Function instanceof Object);//true   

4.    alert(Object instanceof Function);//true  

Function 是Object的实例,Object又是Function的实例

Function是函数的构造函数,而 Object也是函数, Function自身也是函数
Object.prototype是一切原型链的顶点, instanceof会查找整个原型链

  1. alert(Function);   
  2. alert(Function.prototype);   
  3. alert(Function.__proto__);   
  4. alert(Object);   
  5. alert(Object.prototype);   
  6. alert(Object.__proto__);   
  7. alert((function(){}).prototype);   
  8. alert((function(){}).__proto__);   
  9. alert((function(){}).__proto__.prototype);   
  10. alert((function(){}).prototype.__proto__);   
  11. alert(Array.__proto__);   
  12. alert((123).__proto__);   
  13. alert((Number).__proto__);   
  14. alert(("test").__proto__);   
  15. alert((String).__proto__);   
  16. alert((true).__proto__);   
  17. alert((Boolean).__proto__); 

二、不定项选择题
4
、请选择对 javascript 理解有误的: (abcd)
A.JScript
javascript 的简称
B.javascript
是网景公司开发的一种 Java 脚本语言,其目的是为了简化 Java 的开发难度
C.FireFox
IE 存在大量兼容性问题的主要原因在于他们对 javascript 的支持不同上
D.AJAX
技术一定要使用 javascript 技术
5
foo 对象有 att 属性,那么获取 att 属性的值,以下哪些做法是可以的:()
A.foo.att
B.foo(“att”)
C.foo[“att”]
D.foo{“att”}
E.foo[“a”+”t”+”t”]
6
、在不指定特殊属性的情况下,哪几种 HTML 标签可以手动输入文本:( ace
A.
B.
C.
D.




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
、关于 IE window 对象表述正确的有:( 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没有
3 、结合 text 这段结构,谈谈 innerHTML outerHTML innerText 之间的区别。

这个问题只要写一下看的很清楚
innerHTML对象里面的 HTML,outerHTML包括对象和里面的
innerText对象里面的文本
4、说几条 XHTML 规范的内容(至少 3 条)

属性加引号,不能有不匹配的标签,加定义
5、对 Web 标准化(或网站重构)知道哪些相关的知识,简述几条你知道的 Web 标准?

网页主要由三部分组成:结构( Structure)、表现( Presentation)和行为( Behavior)。对应的网站标准也分三方面:结构化标准语言,主要包括 XHTML XML;表现标准语言主要包括 CSS;行为标准主要包括对象模型(如 W3C DOM)、 ECMAScript等。
四、程序题:
1
、完成 foo() 函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。
< html >

< head >

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

 

head >

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

< head >

 

 < 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面试题--答案)