js简单的面试题(2)

53 篇文章 0 订阅
5 篇文章 0 订阅

续上一篇的js面试题

10,在ie6.0下面是不支持position:fixed的,请写一个js使用<div id ="box"></div>固定在页面的右下角

//如果用css实现的话
html{_background-image:url(about:blank);_background-attachment:fixed;}//这个是防止抖动的。
#time{ height: 2000px}
	.fixed-right{position:fixed;right:0px;left:auto;top:auto;bottom:0px;_position:absolute;_bottom:auto;_top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));}

 

//2,使用js实现的话
window.οnscrοll= window.onresize = window.onload = function (){
var getDiv = document.getElementById('rightBottom');
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;

getDiv.style.left= document.documentElement.clientWidth - getDiv.offsetWidth+'px';
getDiv.style.top = document.documentElement.clientHeight-getDiv.offsetHeight +scrollTop +'px';
}


</script>
<div id="rightBottom" style=" width:100px; height:100px; background:blue; position:absolute; ">nihao</div>

 

 

11,js的基础对象有哪些,window和document的常用的方法和属性列出来

js的基础对象有:Array,Boolean,Date,Math,Number,String,ReqExp,Geqbal

 

window常用的属性有:

 defauleStatus:指定窗口状态栏中的信息。 
 status:指定当前窗口状态栏中的信息。 
 frames:是一个数组,其中内容是窗口中所有的框架。
 parent:指当前窗口的父窗口。 
 self:指当前窗口。
 top:代表当前所有窗口的最顶层窗口。
 window:代表当前窗口

window常用的方法有:

 alert:显示带有一个“确定”按钮的对话框
 confirm:显示带有“确定”与“取消”两个按钮的对话框。 
 prompt:显示带有输入区的对话框。 
 open:打开一个新窗口
 close:关闭用户打开的窗口。

 document常用的属性有:

  alinkColor:活动链接颜色。 
  linkColor:链接颜色。 
  vlinkColor:已访问过的链接颜色。
  anchors:页内链接。
  bgColor:背景颜色。 
  fgColor:前景颜色。 
  cookie:“小甜饼“。
  forms:表单元素。 
  lastModified:文档最后修改的时间。
  links:超链接。
  location:当前文档的 URL。
  referer:在用户跟随链接移动时,包含主文档的 URL 字符串值。
  title:文档标题。 

 document常用的方法有:

  write:向文档输出。
  open:打开文档。 
  close:关闭文档。
  clear:清除打开文档的内容。

 

 

12,js中如何定义class,如何扩展prototype?

 在面向对象编程中,类(class)是对象(object)的模板,定义了同一组对象(又称"实例")共有的属性和方法。Javascript语言不支持"类",但是可以用一些变通的方法,模拟出"类"。

一、构造函数法

这是经典方法,也是教科书必教的方法。它用构造函数模拟"类",在其内部用this关键字指代实例对象。

  

function Cat() {
    this.name = "大毛";
  }

 

生成实例的时候,使用new关键字。

  

var cat1 = new Cat();
  alert(cat1.name); // 大毛

 

类的属性和方法,还可以定义在构造函数的prototype对象之上。

  

Cat.prototype.makeSound = function(){
    alert("喵喵喵");
  }

 

关于这种方法的详细介绍,请看我写的系列文章《Javascript 面向对象编程》,这里就不多说了。它的主要缺点是,比较复杂,用到了this和prototype,编写和阅读都很费力。

二、Object.create()法

为了解决"构造函数法"的缺点,更方便地生成对象,Javascript的国际标准ECMAScript第五版(目前通行的是第三版),提出了一个新的方法Object.create()。

用这个方法,"类"就是一个对象,不是函数。

  

var Cat = {
    name: "大毛",
    makeSound: function(){ alert("喵喵喵"); }
  };

 

然后,直接用Object.create()生成实例,不需要用到new。

  

var cat1 = Object.create(Cat);
  alert(cat1.name); // 大毛
  cat1.makeSound(); // 喵喵喵

 

目前,各大浏览器的最新版本(包括IE9)都部署了这个方法。如果遇到老式浏览器,可以用下面的代码自行部署。

  

if (!Object.create) {
    Object.create = function (o) {
       function F() {}
      F.prototype = o;
      return new F();
    };
  }

 

这种方法比"构造函数法"简单,但是不能实现私有属性和私有方法,实例对象之间也不能共享数据,对"类"的模拟不够全面。

更多了解:http://www.ruanyifeng.com/blog/2012/07/three_ways_to_define_a_javascript_class.html

 

13,ajax是什么?ajax的交互模型?同步和异步的区别?如何解决跨域问题?

 

14,请给出异步加载js方案,不少于两种?

 

15,多浏览器检测通过什么?

 

16,讲述一下你所了解的前端的优化方式?

 

17,javascript中如何对一个对象进行深度clone? 

 

18,请实现,鼠标移到页面中的任意标签,显示出这个标签的基本矩形轮廓?

 

19,在页面中有如下

<div id="field">
	<input type="text" name="" value="UserName" />
</div>
<span class="red"></span>

 要求用闭包方式写一个js炒年糕文本框中取出值并在标签span中显示出来。

 

 

18和19题不会呀,,请求大家的帮忙,,给给意见和答案。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值