Javascript收集

JavaScript基础知识4点(2019.1.3)

2019-01-04  本文已影响13人  小进进不将就

1、如题
(1)以下代码输出什么?

    for(var i = 0; i < 10; i++) {
      setTimeout(() => {
        console.log(i)
      }, 0)
    }

输出:10个10

(2)如何输出0-9?
① 将 var 改成 let
② 闭包:

    for(var i = 0; i < 10; i++) {
      (function(i){
        setTimeout(() => {
          console.log(i)
        }, 0)
      })(i)
    }

2、箭头函数 this 的指向问题
箭头函数的 this 指向是固定不变的,即指向定义函数的环境;
使用 function 定义的函数,this 的指向是随着调用环境的变化而变化的

function:

    function getName() {
      console.log(this)
    }

    let obj={aa:getName}

    getName() //Window
    obj.aa() //Object

箭头函数:

    let getName=()=> {
      console.log(this)
    }

    let obj={aa:getName}

    getName() //Window
    obj.aa() //Window

3、for...in 和 for...of 的区别
例:
let arr=[ 'a','b','c' ]
(1)使用 for...in 遍历数组

    for(let item in arr){
      console.log(item) //0 1 2
      console.log(typeof item) //string string string
    }
    arr.name='chen'
    for(let item in arr){
      console.log(item) //'0' '1' '2' 'name'
    }

(2)使用 for...of 遍历

    let arr=['a','b','c']
    arr.name='chen'
    for(let item of arr){
      console.log(item) //'a' 'b' 'c'
    }
    for(let item of arr){
      if(item==='c') return 1
      console.log(item) //'a' 'b'
    }

详细的可以参考这篇文章:https://www.jianshu.com/p/c43f418d6bf0


4、flex 布局的 flex-grow 和 flex-shrink 属性有什么用?

div{
      flex-grow: 1;
     }
.box { 
  flex-shrink: 1;
}

(完)

上一篇 下一篇

猜你喜欢

热点阅读