11月27日学习笔记

JavaScript

  1. Angular

    Angular大大减少了对DOM的访问;前端mvc,极大降低前端开发的耦合;实现了数据双向绑定实现了依赖注入。

  2. jQuery

    jQuery极大的丰富了DOM操作。

  3. JavaScript数据类型

    数据类型的使用:

    typeof ``1``; ``//'number'
    typeof (``1``);``//'number'
    typeof (); ``//SyntaxError 语法错误
    
    void` `0``; ``//undefined
    void` `(``0``);``//undefined
    void` `(); ``//SyntaxError 语法错误
    
  4. 回流和重绘

    **reflow(回流):**例如某个子元素样式发生改变,直接影响到了其父元素以及往上追溯很多祖先元素(包括兄弟元素),这个时候浏览器要重新去渲染这个子元素相关联的所有元素的过程称为回流。

    reflow:几乎是无法避免的。现在界面上流行的一些效果,比如树状目录的折叠、展开(实质上是元素的显 示与隐藏)等,都将引起浏览器的 reflow。鼠标滑过、点击……只要这些行为引起了页面上某些元素的占位面积、定位方式、边距等属性的变化,都会引起它内部、周围甚至整个页面的重新渲 染。通常我们都无法预估浏览器到底会 reflow 哪一部分的代码,它们都彼此相互影响着。

    **repaint(重绘):**如果只是改变某个元素的背景色、文 字颜色、边框颜色等等不影响它周围或内部布局的属性,将只会引起浏览器 repaint(重绘)。repaint 的速度明显快于 reflow。

    引起reflow的动作有:

    • 改变窗口大小
    • 改变文字大小
    • 改变内容,如用户在输入框中敲字
    • 激活伪类,如:hover
    • 操作class属性
    • 脚本操作DOM
    • 计算offsetWidth和offsetHeight
    • 设置style属性
  5. 元素样式

    给元素绑定样式 ng-style  
    
  • 给元素绑定类名  ng-class
    eg:用法①:<div ng-class="{'A':isA,'B':isB,'C':isC}"></div> 
       用法②:<div   ng-class = "{{A}}" > </ div > 
    
  • 给元素绑定监听 ng-click等
    
  • 显示隐藏   ng-show  ng-hide
    
  1. let例题

    在同一个block中,let是在后边定义的,就不能在之前引用该变量。与此同时,也不能再去取嵌套外层的值了(x=1):

    let x = 10;
    let foo = () => {
    console.log(x);
    let x = 20;
    x++;
    }
    foo();

    结果:会抛出 ReferenceError

  2. javascript中实现跨域的方式总结:

    • 第一种方式:jsonp请求;jsonp的原理是利用
上一篇:斯坦福CS课程列表


下一篇:浏览器如何渲染页面?