每天一篇面试题(二)

题目一

<script type="text/javascript" charset="utf-8">
function fun(n,o){
    console.log(o)
    return{
        fun:function(m){
            return fun(m,n);
        }
    };
}
var a = fun(0); a.fun(1); a.fun(2); a.fun(3);
var b = fun(0).fun(1).fun(2).fun(3);
var c = fun(0).fun(1); c.fun(2); c.fun(3);
</script>
答案
undefined 0 0 0
undefined 0 1 2
undefined 0 1 1
解析

这道题目比较简单,大概意思就是函数定义有两个参数,并返回一个对象,这个对象有个fun方法,方法是调用fun函数。
这里var a = fun(0);由于只有一个参数,所以第二个参数应该是undefined。此时a应该就是一个对象。
a这个对象里面引用了n,n的值应该是0,接下来只是不断调用a对象的方法,所以只改变了m但没有改变n。
b在这里也是一个对象,但是其m和n是改变的。fun(0)时(n=0,o=undefined)fun(0).fun(1)(n=1, o = 0)…

题目二

<script type="text/javascript" charset="utf-8">
    var a = 100;
    function testResult(){
            var b = 2 * a;
            var a = 200;
            var c = a / 2;
            alert(b);
            alert(c);
    }
    testResult();
</script>
答案
NaN 100
解析

变量声明提升!上面代码等同于

var a,b,c;
b = a*2;
a = 200;
c = a / 2;

题目三

<script type="text/javascript" charset="utf-8">
    var tt = "MR_LP -->  QQ :3206064928";
    function test(){
            alert(tt);
            var tt = "李鹏";
            alert(tt);
    }
    test();
</script>
答案
undefined 李鹏

题目四

列出 display 的值,并说明他们的作用

displayblock; // 将元素以块元素的方式显示,块元素的特点就是独占一行并且可以设置宽高
displayinline; // 将元素以行内元素的方式显示,行内元素的特点就是可在一行中排放多个但不可以设置宽高
displayinline-block; // 设置该方式的元素即可以设置宽高又可以在一行中排放多个

题目五

position 中,relative 和 absolute 的区别,包括使用时的注意事项和定位原点。

设置为relative定位的,会相对距离其最近的父元素的位置进行定位,并且未设置left/top时位置将位于其原本应该在的位置上。relative是不会脱离文档流的,它依旧占据着它原本的位置
设置为absolute定位的,则会相对于其最近的非static定位的父元素进行定位,并且未设置left/top时位置将位于其原本应该在的位置上。absolute会脱离文档流,因此其后面的元素将会视其为不存在

题目六

CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算?CSS 3 新增的伪类有哪些?

http://www.w3school.com.cn/cssref/css_selectors.asp CSS3选择符
CSS可以继承的属性有text-indent, text-align, color, font-*, list-style, visibility…
注意
1. background-color是不能被继承的,元素默认的background-color值为透明。
2. 选择器:link, :visited, :hover, :active, 必须按照这个顺序为a标签设置CSS样式。
3. ele:nth-child(n) : ele的父元素下的第n个子元素,并且一定是ele类型
ele:nth-of-type(n): ele的父元素下的第n个ele子元素。
4. div p: div下的所有p元素
div > p: div下的子元素p
div + p:与div为同级元素的p

题目七

CSS 3 有哪些新特性?
https://www.ibm.com/developerworks/cn/web/1202_zhouxiang_css3/

题目八

new 操作符具体做了什么?

var amy = new Person("amy");
// 创建一个新对象
// 新对象的this指向amy
// 调用构造函数,并执行构造函数的语句为amy附上属性值
// 返回这个新对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值