美文网首页
总结(1)

总结(1)

作者: fortunatelys | 来源:发表于2017-07-18 21:53 被阅读0次

    1.this啥时候不可以使用

    a.定时器中不能使用
    b.事件中多嵌套了一层函数
    c.行间不能使用
    d.attachEvent中不可以使用
    e.箭头函数

    2.for循环中的i啥时候不能用

    a.循环中加事件,事件中不能用i
    b.循环中加定时器,定时器中不能用i

    解决方法:1.自定义属性 2.封闭空间

    3.严格模式

    代码规范
    解决了不加var声明变量的问题

    4.background-attachment

    css中的一种属性,设置背景图像是否固定或随着页面的其余部分滚动
    语法object.style.backgroundAttachment = "fixed"
    scroll:默认值,背景图片会随着页面其余部分的滚动而移动
    fixed:当页面的其余部分滚动时,背景图片不会移动
    inherit:规定从夫级继承background-attachment属性设置

    5.解析json的三种方法

    1.eval()方法
    function toJson(){
    var Json = eval('('+str+')');
    return Json;
    }
    2.new Function 方法
    function toJson(){
    var Json = (new Function("return"+str))();
    return Json;
    }
    3.Json.parse() 方法
    function toJson(){
    return Json.parse(str)
    }

    6.

    看下列代码,输出什么?解释原因
    var undefined; // 报错
    undefined == null; // true
    1==true; // true
    2==true; // false
    0==false; // true
    0==''; // true
    NaN==NaN; // false
    {}==false; // false
    {}==!{}; // false

    7.当一个DOM节点被点击时,我们希望能够执行一个函数,应该怎么做?JavaScript的事件流模型都有什么?

     直接在DOM里绑定事件:<div onclick=”test()”></div>
    
     在JS里通过onclick绑定:xxx.onclick = test 
    通过事件添加进行绑定:addEventListener(xxx, ‘click’, test) 
     那么问题来了,Javascript的事件流模型都有什么?
     “事件冒泡”:事件开始由最具体的元素接受,然后逐级向上传播
     “事件捕捉”:事件由最不具体的节点先接收,然后逐级向下,一直到最具体的
     “DOM事件流”:三个阶段:事件捕捉,目标阶段,事件冒泡
    

    8.对web的标准以及w3c的理解与区别。

    web标准简单来说可以分为结构、表现和行为。其中结构主要是有HTML标签组成。
    或许通俗点说,在页面body里面我们写入的标签都是为了页面的结构。
    表现即指css样式表,通过css可以是页面的结构标签更具美感。
    行为是指页面和用户具有一定的交互,同时页面结构或者表现发生变化,主要是有js组成。

    9.CSS引入的方式有哪些?link和@import的区别是什么?

    内嵌,导入外部样式@import,链入外部样式<link>,内部样式<head>
    (1)link属于XHTML标签,除了加载CSS外,还能用于定义RSS, 定义rel连接属性等作用;
    而@import是CSS提供的,只能用于加载CSS;
    (2)页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;
    (3)import是CSS2.1 提出的,只在IE5以上才能被识别,而link是XHTML标签,无兼容问题;

    10.浏览器兼容性的解决方法

    1.在有的浏览器中,默认字体大小为12px,所以在设字体大小的时候,最小设为12px,如果在做的过程中,发现字体小于12,可直接作为图片使用
    2.a标签对里不能嵌套a标签对
    3.若给a标签内的内容样式加上样式,需要设置display:block;(在IE中如果设置宽高会自动变成块,在FF中则不会),但如果设置了float属性,就不需要设置display:block。
    4.ul,ol在FF默认情况下,有list-style-type样式和padding值,dl在IE和FF默认情况下,有padding值,所以应该事先声明ul,li,ol,dl,dd,dd{margin:0;padding:0}。
    5.作为外部 wrapper 的 div 不要定死高度, 最好还加上 overflow: hidden.以达到高度自适应
    6.关于手形光标. cursor: pointer. 而hand 只适用于 IE.
    7.css布局中的居中问题:在父级元素定义TEXT-ALIGN: center;这个的意思就是在父级元素内的内容居中;对于IE这样设定就已经可以了。但在mozilla中不能居中。解决办法就是在子元素定义时候设定时再加上“margin-right: auto;margin-left: auto; ”需要说明的是,如果你想用这个方法使整个页面要居中,建议不要套在一个DIV里,你可以依次拆出多个div,只要在每个拆出的div里定义margin-right: auto;margin-left: auto; 就可以了。
    8.浮动ie产生的双倍距离
    #box{ float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE会产生200px的距离,这时需要设置display:inline; //使浮动忽略}

    相关文章

      网友评论

          本文标题:总结(1)

          本文链接:https://www.haomeiwen.com/subject/ivxkkxtx.html