国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端學(xué)習(xí)——JS進(jìn)階 (Day1)

這篇具有很好參考價(jià)值的文章主要介紹了前端學(xué)習(xí)——JS進(jìn)階 (Day1)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

作用域

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

局部作用域

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

全局作用域

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

作用域鏈

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

JS垃圾回收機(jī)制

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

閉包

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // 統(tǒng)計(jì)函數(shù)調(diào)用次數(shù)
    let i=0
    function fn(){
      i++
      console.log(i)
    }
    // i是全局變量,容易被修改,改為局部變量

    // 閉包形式
    function count(){
      let i=0
      function fn(){
        i++
        console.log(i)
      }
      return fn
    }
    const fun = count()
  </script>
</body>
</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

變量提升

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 1. 把所有var聲明的變量提升到 當(dāng)前作用域的最前面
    // 2. 只提升聲明, 不提升賦值
    // var num
    // console.log(num + '件')
    // num = 10
    // console.log(num)

    function fn() {
      console.log(num)
      var num = 10
    }
    fn()
  </script>
</body>

</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

函數(shù)進(jìn)階

函數(shù)提升

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    var fun
    // 1. 會把所有函數(shù)聲明提升到當(dāng)前作用域的最前面
    // 2. 只提升函數(shù)聲明,不提升函數(shù)調(diào)用
    // fn()
    // function fn() {
    //   console.log('函數(shù)提升')
    // }
    // fun()
    // var fun = function () {
    //   console.log('函數(shù)表達(dá)式')
    // }
      // 函數(shù)表達(dá)式 必須先聲明和賦值, 后調(diào)用 否則 報(bào)錯
  </script>
</body>

</html>

函數(shù)參數(shù)

動態(tài)參數(shù)

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    function getSum() {
      // arguments 動態(tài)參數(shù) 只存在于 函數(shù)里面
      // 是偽數(shù)組 里面存儲的是傳遞過來的實(shí)參
      // console.log(arguments)  [2,3,4]
      let sum = 0
      for (let i = 0; i < arguments.length; i++) {
        sum += arguments[i]
      }
      console.log(sum)
    }
    getSum(2, 3, 4)
    getSum(1, 2, 3, 4, 2, 2, 3, 4)
  </script>
</body>

</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

剩余參數(shù)

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    function getSum(a, b, ...arr) {
      console.log(arr)  // 使用的時(shí)候不需要寫 ...
    }
    getSum(2, 3)
    getSum(1, 2, 3, 4, 5)
  </script>
</body>

</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

展開運(yùn)算符

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    const arr1 = [1, 2, 3]
    // 展開運(yùn)算符 可以展開數(shù)組
    // console.log(...arr)

    // console.log(Math.max(1, 2, 3))
    // ...arr1  === 1,2,3
    // 1 求數(shù)組最大值
    console.log(Math.max(...arr1)) // 3
    console.log(Math.min(...arr1)) // 1
    // 2. 合并數(shù)組
    const arr2 = [3, 4, 5]
    const arr = [...arr1, ...arr2]
    console.log(arr)

  </script>
</body>

</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

箭頭函數(shù)(重要)

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

基本寫法

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // const fn = function () {
    //   console.log(123)
    // }
    // 1. 箭頭函數(shù) 基本語法
    // const fn = () => {
    //   console.log(123)
    // }
    // fn()
    // const fn = (x) => {
    //   console.log(x)
    // }
    // fn(1)
    // 2. 只有一個形參的時(shí)候,可以省略小括號
    // const fn = x => {
    //   console.log(x)
    // }
    // fn(1)
    // // 3. 只有一行代碼的時(shí)候,我們可以省略大括號
    // const fn = x => console.log(x)
    // fn(1)
    // 4. 只有一行代碼的時(shí)候,可以省略return
    // const fn = x => x + x
    // console.log(fn(1))
    // 5. 箭頭函數(shù)可以直接返回一個對象
    // const fn = (uname) => ({ uname: uname })
    // console.log(fn('劉德華'))

  </script>
</body>

</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

箭頭函數(shù)參數(shù)

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 1. 利用箭頭函數(shù)來求和
    const getSum = (...arr) => {
      let sum = 0
      for (let i = 0; i < arr.length; i++) {
        sum += arr[i]
      }
      return sum
    }
    const result = getSum(2, 3, 4)
    console.log(result) // 9
  </script>
</body>

</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

箭頭函數(shù) this

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 以前this的指向:  誰調(diào)用的這個函數(shù),this 就指向誰
    // console.log(this)  // window
    // // 普通函數(shù)
    // function fn() {
    //   console.log(this)  // window
    // }
    // window.fn()
    // // 對象方法里面的this
    // const obj = {
    //   name: 'andy',
    //   sayHi: function () {
    //     console.log(this)  // obj
    //   }
    // }
    // obj.sayHi()

    // 2. 箭頭函數(shù)的this  是上一層作用域的this 指向
    // const fn = () => {
    //   console.log(this)  // window
    // }
    // fn()
    // 對象方法箭頭函數(shù) this
    // const obj = {
    //   uname: 'pink老師',
    //   sayHi: () => {
    //     console.log(this)  // this 指向誰? window
    //   }
    // }
    // obj.sayHi()

    const obj = {
      uname: 'pink老師',
      sayHi: function () {
        console.log(this)  // obj
        let i = 10
        const count = () => {
          console.log(this)  // obj 
        }
        count()
      }
    }
    obj.sayHi()

  </script>
</body>

</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

解構(gòu)賦值

數(shù)組解構(gòu)

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // const arr = [100, 60, 80]
    // 數(shù)組解構(gòu) 賦值
    // // const [max, min, avg] = arr
    const [max, min, avg] = [100, 60, 80]
    // // const max = arr[0]
    // // const min = arr[1]
    // // const avg = arr[2]
    console.log(max) // 100
    console.log(avg) // 80
    // 交換2個變量的值
    let a = 1
    let b = 2;
    [b, a] = [a, b]
    console.log(a, b)
  </script>
</body>

</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 1. 立即執(zhí)行函數(shù)要加
    // (function () { })();
    // (function () { })();
    // 2. 使用數(shù)組的時(shí)候
    // const arr = [1, 2, 3]
    const str = 'pink';
    [1, 2, 3].map(function (item) {
      console.log(item)
    })

    let a = 1
    let b = 2
      ;[b, a] = [a, b]

    console.log(a, b)
  </script>
</body>

</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

練習(xí)

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    const [hr,lx,mi,fz] = ['海爾', '聯(lián)想', '小米', '方正'] 
    function getValue(){
      return [100,60]
    }
    const [max,min] = getValue()
    console.log((max))
    console.log((min))
  </script>
</body>
</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

數(shù)組解構(gòu)

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // const pc = ['海爾', '聯(lián)想', '小米', '方正'];
    // [hr, lx, mi, fz] = pc
    // console.log(hr, lx, mi, fz);


    // function getValue() {
    //   return [100, 60]
    // }
    // [max, min] = getValue()
    // console.log(max, min);



    // const pc = ['海爾', '聯(lián)想', '小米', '方正']
    // const [hr, lx, mi, fz] = ['海爾', '聯(lián)想', '小米', '方正']
    // console.log(hr)
    // console.log(lx)
    // console.log(mi)
    // console.log(fz)

    // // 請將最大值和最小值函數(shù)返回值解構(gòu) max 和min 兩個變量
    // function getValue() {
    //   return [100, 60]
    // }
    // const [max, min] = getValue()
    // console.log(max)
    // console.log(min)
    // 1. 變量多, 單元值少 , undefined
    // const [a, b, c, d] = [1, 2, 3]
    // console.log(a) // 1
    // console.log(b) // 2
    // console.log(c) // 3
    // console.log(d) // undefined
    // 2. 變量少, 單元值多
    // const [a, b] = [1, 2, 3]
    // console.log(a) // 1
    // console.log(b) // 2
    // 3.  剩余參數(shù) 變量少, 單元值多
    // const [a, b, ...c] = [1, 2, 3, 4]
    // console.log(a) // 1
    // console.log(b) // 2
    // console.log(c) // [3, 4]  真數(shù)組
    // 4.  防止 undefined 傳遞
    // const [a = 0, b = 0] = [1, 2]
    // const [a = 0, b = 0] = []
    // console.log(a) // 1
    // console.log(b) // 2
    // 5.  按需導(dǎo)入賦值
    // const [a, b, , d] = [1, 2, 3, 4]
    // console.log(a) // 1
    // console.log(b) // 2
    // console.log(d) // 4

    // const arr = [1, 2, [3, 4]]
    // console.log(arr[0])  // 1
    // console.log(arr[1])  // 2
    // console.log(arr[2])  // [3,4]
    // console.log(arr[2][0])  // 3

    // 多維數(shù)組解構(gòu)
    // const arr = [1, 2, [3, 4]]
    // const [a, b, c] = [1, 2, [3, 4]]
    // console.log(a) // 1
    // console.log(b) // 2
    // console.log(c) // [3,4]


    const [a, b, [c, d]] = [1, 2, [3, 4]]
    console.log(a) // 1
    console.log(b) // 2
    console.log(c) // 3
    console.log(d) // 4
  </script>


</body>

</html>
對象解構(gòu)

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 對象解構(gòu)
    // const obj = {
    //   uname: 'pink老師',
    //   age: 18
    // }
    // obj.uname
    // obj.age 
    // const uname = 'red老師'
    // 解構(gòu)的語法
    // const { uname, age } = {age: 18, uname: 'pink老師' }
    // // 等價(jià)于 const uname =  obj.uname
    // // 要求屬性名和變量名必須一直才可以
    // console.log(uname)
    // console.log(age)
    // 1. 對象解構(gòu)的變量名 可以重新改名  舊變量名: 新變量名
    // const { uname: username, age } = { uname: 'pink老師', age: 18 }

    // console.log(username)
    // console.log(age)
    // 2. 解構(gòu)數(shù)組對象
    const pig = [
      {
        uname: '佩奇',
        age: 6
      }
    ]
    const [{ uname, age }] = pig
    console.log(uname)
    console.log(age)
  </script>
</body>

</html>

多級對象解構(gòu)

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // const pig = {
    //   name: '佩奇',
    //   family: {
    //     mother: '豬媽媽',
    //     father: '豬爸爸',
    //     sister: '喬治'
    //   },
    //   age: 6
    // }
    // // 多級對象解構(gòu)
    // const { name, family: { mother, father, sister } } = pig
    // console.log(name)
    // console.log(mother)
    // console.log(father)
    // console.log(sister)

    const person = [
      {
        name: '佩奇',
        family: {
          mother: '豬媽媽',
          father: '豬爸爸',
          sister: '喬治'
        },
        age: 6
      }
    ]
    const [{ name, family: { mother, father, sister } }] = person
    console.log(name)
    console.log(mother)
    console.log(father)
    console.log(sister)
  </script>
</body>

</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

for each

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript
前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    const arr = ['red','green','pink']
    const result = arr.forEach(function(item,index){
      console.log(item)
      console.log(index)
    })

    // 無返回值,適合遍歷數(shù)組對象
  </script>
</body>
</html>

案例

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>商品渲染</title>
  <style>
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    .list {
      width: 990px;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
      padding-top: 100px;
    }

    .item {
      width: 240px;
      margin-left: 10px;
      padding: 20px 30px;
      transition: all .5s;
      margin-bottom: 20px;
    }

    .item:nth-child(4n) {
      margin-left: 0;
    }

    .item:hover {
      box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
      transform: translate3d(0, -4px, 0);
      cursor: pointer;
    }

    .item img {
      width: 100%;
    }

    .item .name {
      font-size: 18px;
      margin-bottom: 10px;
      color: #666;
    }

    .item .price {
      font-size: 22px;
      color: firebrick;
    }

    .item .price::before {
      content: "¥";
      font-size: 14px;
    }
  </style>
</head>

<body>
  <div class="list">
    <!-- <div class="item">
      <img src="" alt="">
      <p class="name"></p>
      <p class="price"></p>
    </div> -->
  </div>
  <script>
    const goodsList = [
      {
        id: '4001172',
        name: '稱心如意手搖咖啡磨豆機(jī)咖啡豆研磨機(jī)',
        price: '289.00',
        picture: 'https://yanxuan-item.nosdn.127.net/84a59ff9c58a77032564e61f716846d6.jpg',
      },
      {
        id: '4001594',
        name: '日式黑陶功夫茶組雙側(cè)把茶具禮盒裝',
        price: '288.00',
        picture: 'https://yanxuan-item.nosdn.127.net/3346b7b92f9563c7a7e24c7ead883f18.jpg',
      },
      {
        id: '4001009',
        name: '竹制干泡茶盤正方形瀝水茶臺品茶盤',
        price: '109.00',
        picture: 'https://yanxuan-item.nosdn.127.net/2d942d6bc94f1e230763e1a5a3b379e1.png',
      },
      {
        id: '4001874',
        name: '古法溫酒汝瓷酒具套裝白酒杯蓮花溫酒器',
        price: '488.00',
        picture: 'https://yanxuan-item.nosdn.127.net/44e51622800e4fceb6bee8e616da85fd.png',
      },
      {
        id: '4001649',
        name: '大師監(jiān)制龍泉青瓷茶葉罐',
        price: '139.00',
        picture: 'https://yanxuan-item.nosdn.127.net/4356c9fc150753775fe56b465314f1eb.png',
      },
      {
        id: '3997185',
        name: '與眾不同的口感汝瓷白酒杯套組1壺4杯',
        price: '108.00',
        picture: 'https://yanxuan-item.nosdn.127.net/8e21c794dfd3a4e8573273ddae50bce2.jpg',
      },
      {
        id: '3997403',
        name: '手工吹制更厚實(shí)白酒杯壺套裝6壺6杯',
        price: '99.00',
        picture: 'https://yanxuan-item.nosdn.127.net/af2371a65f60bce152a61fc22745ff3f.jpg',
      },
      {
        id: '3998274',
        name: '德國百年工藝高端水晶玻璃紅酒杯2支裝',
        price: '139.00',
        picture: 'https://yanxuan-item.nosdn.127.net/8896b897b3ec6639bbd1134d66b9715c.jpg',
      },
    ]

    let str = ''
    goodsList.forEach(item => {
      const {name,price,picture} = item
      str += `
      <div class="item">
      <img src="${picture}" alt="">
      <p class="name">${name}</p>
      <p class="price">${price}</p>
    </div>
      `
    })
    document.querySelector('.list').innerHTML = str
  </script>
</body>

</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

篩選

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    const arr = [10, 20, 30]
    // const newArr = arr.filter(function (item, index) {
    //   // console.log(item)
    //   // console.log(index)
    //   return item >= 20
    // })
    // 返回的符合條件的新數(shù)組

    const newArr = arr.filter(item => item >= 20)
    console.log(newArr)
  </script>
</body>

</html>

綜合案例

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>商品渲染</title>
  <style>
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    .list {
      width: 990px;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
    }

    .item {
      width: 240px;
      margin-left: 10px;
      padding: 20px 30px;
      transition: all .5s;
      margin-bottom: 20px;
    }

    .item:nth-child(4n) {
      margin-left: 0;
    }

    .item:hover {
      box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
      transform: translate3d(0, -4px, 0);
      cursor: pointer;
    }

    .item img {
      width: 100%;
    }

    .item .name {
      font-size: 18px;
      margin-bottom: 10px;
      color: #666;
    }

    .item .price {
      font-size: 22px;
      color: firebrick;
    }

    .item .price::before {
      content: "¥";
      font-size: 14px;
    }

    .filter {
      display: flex;
      width: 990px;
      margin: 0 auto;
      padding: 50px 30px;
    }

    .filter a {
      padding: 10px 20px;
      background: #f5f5f5;
      color: #666;
      text-decoration: none;
      margin-right: 20px;
    }

    .filter a:active,
    .filter a:focus {
      background: #05943c;
      color: #fff;
    }
  </style>
</head>

<body>
  <div class="filter">
    <a data-index="1" href="javascript:;">0-100</a>
    <a data-index="2" href="javascript:;">100-300</a>
    <a data-index="3" href="javascript:;">300元以上</a>
    <a href="javascript:;">全部區(qū)間</a>
  </div>
  <div class="list">
    <!-- <div class="item">
      <img src="" alt="">
      <p class="name"></p>
      <p class="price"></p>
    </div> -->
  </div>
  <script>
    // 2. 初始化數(shù)據(jù)
    const goodsList = [
      {
        id: '4001172',
        name: '稱心如意手搖咖啡磨豆機(jī)咖啡豆研磨機(jī)',
        price: '289.00',
        picture: 'https://yanxuan-item.nosdn.127.net/84a59ff9c58a77032564e61f716846d6.jpg',
      },
      {
        id: '4001594',
        name: '日式黑陶功夫茶組雙側(cè)把茶具禮盒裝',
        price: '288.00',
        picture: 'https://yanxuan-item.nosdn.127.net/3346b7b92f9563c7a7e24c7ead883f18.jpg',
      },
      {
        id: '4001009',
        name: '竹制干泡茶盤正方形瀝水茶臺品茶盤',
        price: '109.00',
        picture: 'https://yanxuan-item.nosdn.127.net/2d942d6bc94f1e230763e1a5a3b379e1.png',
      },
      {
        id: '4001874',
        name: '古法溫酒汝瓷酒具套裝白酒杯蓮花溫酒器',
        price: '488.00',
        picture: 'https://yanxuan-item.nosdn.127.net/44e51622800e4fceb6bee8e616da85fd.png',
      },
      {
        id: '4001649',
        name: '大師監(jiān)制龍泉青瓷茶葉罐',
        price: '139.00',
        picture: 'https://yanxuan-item.nosdn.127.net/4356c9fc150753775fe56b465314f1eb.png',
      },
      {
        id: '3997185',
        name: '與眾不同的口感汝瓷白酒杯套組1壺4杯',
        price: '108.00',
        picture: 'https://yanxuan-item.nosdn.127.net/8e21c794dfd3a4e8573273ddae50bce2.jpg',
      },
      {
        id: '3997403',
        name: '手工吹制更厚實(shí)白酒杯壺套裝6壺6杯',
        price: '99.00',
        picture: 'https://yanxuan-item.nosdn.127.net/af2371a65f60bce152a61fc22745ff3f.jpg',
      },
      {
        id: '3998274',
        name: '德國百年工藝高端水晶玻璃紅酒杯2支裝',
        price: '139.00',
        picture: 'https://yanxuan-item.nosdn.127.net/8896b897b3ec6639bbd1134d66b9715c.jpg',
      },
    ]

    // 1. 渲染函數(shù) 封裝
    function render(arr) {
      // 聲明空字符串
      let str = ''
      // 遍歷數(shù)組
      arr.forEach(item => {
        // 解構(gòu)
        const { name, picture, price } = item
        str += `
        <div class="item">
      <img src=${picture} alt="">
      <p class="name">${name}</p>
      <p class="price">${price}</p>
    </div>
    `
      })
      // 追加給list
      document.querySelector('.list').innerHTML = str

    }
    render(goodsList)

     // 2. 過濾篩選  
    document.querySelector('.filter').addEventListener('click', e => {
      // e.target.dataset.index   e.target.tagName
      const { tagName, dataset } = e.target
      // 判斷 
      if (tagName === 'A') {
        // console.log(11) 
        // arr 返回的新數(shù)組
        let arr = goodsList
        if (dataset.index === '1') {
          arr = goodsList.filter(item => item.price > 0 && item.price <= 100)
        } else if (dataset.index === '2') {
          arr = goodsList.filter(item => item.price >= 100 && item.price <= 300)
        } else if (dataset.index === '3') {
          arr = goodsList.filter(item => item.price >= 300)
        }
        // 渲染函數(shù)
        render(arr)
      }
    })

  </script>
</body>

</html>

前端學(xué)習(xí)——JS進(jìn)階 (Day1),前端,學(xué)習(xí),javascript文章來源地址http://www.zghlxwxcb.cn/news/detail-567171.html

到了這里,關(guān)于前端學(xué)習(xí)——JS進(jìn)階 (Day1)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 前端學(xué)習(xí)——Web API(Day1)

    前端學(xué)習(xí)——Web API(Day1)

    Web API 基本認(rèn)知 作用和分類 DOM DOM樹 DOM對象 根據(jù)CSS選擇器來獲取DOM元素 小練習(xí) 其他獲取DOM元素方法 識別標(biāo)簽 小練習(xí) 操作元素常用屬性 小練習(xí) 操作元素樣式屬性 小練習(xí) 小練習(xí) 操作表單元素屬性 自定義屬性 小練習(xí)

    2024年02月13日
    瀏覽(19)
  • day1:前端緩存問題

    ? 「目標(biāo)」 : 持續(xù)輸出!每日分享關(guān)于web前端常見知識、面試題、性能優(yōu)化、新技術(shù)等方面的內(nèi)容。篇幅不會過長,方便理解和記憶。 ? ? 「主要面向群體:」 前端開發(fā)工程師(初、中、高級)、應(yīng)屆、轉(zhuǎn)行、培訓(xùn)等同學(xué) ? Day1-今日話題 「前端web項(xiàng)目緩存問題如何處理?

    2024年02月12日
    瀏覽(20)
  • Web 前端進(jìn)階—— JS 學(xué)習(xí)筆記

    目錄 一、JavaScript提升篇 1、什么是跨域? 2、什么是原型? 3、什么是閉包? 4、如何防抖? 5、TCP的三次握手和四次揮手 6、new 操作符原理 7、事件委托做了什么 8、事件代理是什么 9、Eventloop 10、 如何實(shí)現(xiàn)跨域 11、寫出原生 Ajax 12、暫時(shí)性死區(qū)是什么 13 、promise 解決回調(diào)陷阱的

    2024年04月26日
    瀏覽(29)
  • UWB學(xué)習(xí)——day1

    UWB學(xué)習(xí)——day1

    UWB:Ultra Wideband(超寬頻) UWB所謂的超寬頻區(qū)別于其它近場通信技術(shù)可總結(jié)為 時(shí)域上跳躍,頻域上矮胖 從圖中可以看出,時(shí)域上通過短且強(qiáng)的脈沖信號,頻域上主要是超寬的頻譜(Spectrum) 調(diào)制(Modulation):把信號進(jìn)行編碼使其方便傳播的過程 PPM 通過在 固定時(shí)間范圍 內(nèi)改

    2024年02月09日
    瀏覽(20)
  • 學(xué)習(xí)JavaSE基礎(chǔ)-day1

    學(xué)習(xí)JavaSE基礎(chǔ)-day1

    JRE 和 JDK JRE:Java運(yùn)行環(huán)境,如果想要運(yùn)行Java程序至少要安裝JRE JDK:Java開發(fā)環(huán)境(開發(fā)工具包),如果要開發(fā)Java程序,必須安裝JDK JRE = JVM + 核心類庫 JDK = JRE + 開發(fā)工具包 JDK JRE JVM 關(guān)系如圖所示: ? ? JDK下載地址:www.oracle.com 配置Path環(huán)境變量:希望可以在命令窗口的任意的

    2024年02月07日
    瀏覽(25)
  • [前端系列第3彈]JS入門教程:從零開始學(xué)習(xí)JavaScript

    本文將帶領(lǐng)大家,從零開始學(xué)習(xí)JavaScript,fighting~ 目錄 一、JavaScript簡介 二、變量和數(shù)據(jù)類型 三、注釋和分號 四、算術(shù)運(yùn)算符 五、表達(dá)式和語句 六、代碼塊和作用域 七、函數(shù)(最重要)? ????????JavaScript(簡稱JS)是一種運(yùn)行在瀏覽器中的腳本語言,它可以讓網(wǎng)頁變得

    2024年02月13日
    瀏覽(95)
  • 【劍指offer】學(xué)習(xí)計(jì)劃day1

    【劍指offer】學(xué)習(xí)計(jì)劃day1

    目錄 一. 前言? 二. 用兩個棧實(shí)現(xiàn)隊(duì)列 ? ? ? ? a.題目 ? ? ? ? ?b.題解分析 ? ? ? ? ? c.AC代碼 ??二. 包含min函數(shù)的棧 ?? ? ? ? a.題目 ? ? ? ? ?b.題解分析 ????????c.AC代碼? ?本系列是針對Leetcode中劍指offer學(xué)習(xí)計(jì)劃的記錄與思路講解。詳情查看以下鏈接: 劍指offer-學(xué)

    2023年04月24日
    瀏覽(19)
  • freertos內(nèi)核原理學(xué)習(xí) Day1(鏈表)

    freertos內(nèi)核原理學(xué)習(xí) Day1(鏈表)

    目錄 1.freertos列表與列表操作 1.1鏈表各節(jié)點(diǎn)定義(頭文件list.h中) 1.1.1普通節(jié)點(diǎn)定義 1.1.2mini節(jié)點(diǎn)定義 1.1.3根節(jié)點(diǎn)定義 1.2鏈表操作(源文件list.c中) 1.2.1鏈表節(jié)點(diǎn)初始化 ?1.2.2鏈表根節(jié)點(diǎn)初始化 ??1.2.3插入節(jié)點(diǎn)到鏈表尾部 ??1.2.4將節(jié)點(diǎn)按“升序”排列后插入到鏈表中 ??1.2.

    2024年01月23日
    瀏覽(31)
  • Vue3 學(xué)習(xí)筆記(Day1)

    Vue3 學(xué)習(xí)筆記(Day1)

    「寫在前面」 本文為尚硅谷禹神 Vue3 教程的學(xué)習(xí)筆記。本著自己學(xué)習(xí)、分享他人的態(tài)度,分享學(xué)習(xí)筆記,希望能對大家有所幫助。 目錄 0 課程介紹 1 Vue3 簡介 2 創(chuàng)建 Vue3 工程 2.1 基于 vue-cli 創(chuàng)建 2.2 基于 vite 創(chuàng)建(推薦) 2.3 一個簡單的效果 P1:https://www.bilibili.com/video/BV1Za4y

    2024年02月20日
    瀏覽(47)
  • 數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)(day1)

    數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)(day1)

    (1)我是一個大三的學(xué)生(準(zhǔn)確來說應(yīng)該是準(zhǔn)大三,因?yàn)槊魈觳艌?bào)名哈哈哈)。 (2)最近就想每天閑著沒事也刷些C語言習(xí)題來鍛煉下編程水平,也一直在思考企業(yè)對應(yīng)屆大學(xué)生能力的要求,所以經(jīng)常會想到關(guān)于面試的事情。由于我也沒實(shí)習(xí)過,所以我對面試沒有一個具象化

    2024年02月10日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包