日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript高级之ES5 中的新增方法

發布時間:2024/7/5 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript高级之ES5 中的新增方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

3.1 ES5 新增方法概述

ES5 中給我們新增了一些方法,可以很方便的操作數組或者字符串,這些方法主要包括:

  • 數組方法
  • 字符串方法
  • 對象方法
  • 3.2 數組方法

    迭代(遍歷)方法:forEach()、map()、filter()、some()、every();

    1)array.forEach(function(currentValue, index, arr))

  • currentValue:數組當前項的值
  • index:數組當前項的索引
  • arr:數組對象本身

  • 2)array.filter(function(currentValue, index, arr))

  • filter() 方法創建一個新的數組,新數組中的2元素是通過檢查指定數組中符合條件的所有元素,主要用于篩選數組
  • 注意它直接返回一個新數組
  • currentValue: 數組當前項的值
  • index:數組當前項的索引
  • arr:數組對象本身
  • 3)array.some(function(currentValue, index, arr))

  • some() 方法用于檢測數組中的元素是否滿足指定條件. 通俗點 查找數組中是否有滿足條件的元素
  • 注意它返回值是布爾值, 如果查找到這個元素, 就返回true , 如果查找不到就返回false.
  • 如果找到第一個滿足條件的元素,則終止循環. 不在繼續查找.
  • currentValue: 數組當前項的值
  • index:數組當前項的索引
  • arr:數組對象本身



  • 查詢商品案例:

  • 把數據渲染到頁面中 (forEach)
  • 根據價格顯示數據 (filter)
  • 根據商品名稱顯示數據(some)


  • <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>table {width: 400px;border: 1px solid #000;border-collapse: collapse;margin: 0 auto;}td,th {border: 1px solid #000;text-align: center;}input {width: 50px;}.search {width: 600px;margin: 20px auto;}</style> </head><body><div class="search">按照價格查詢: <input type="text" class="start"> - <input type="text" class="end"> <button class="search-price">搜索</button> 按照商品名稱查詢: <input type="text" class="product"> <button class="search-pro">查詢</button></div><table><thead><tr><th>id</th><th>產品名稱</th><th>價格</th></tr></thead><tbody></tbody></table><script>// 利用新增數組方法操作數據var data = [{id: 1,pname: '小米',price: 3999}, {id: 2,pname: 'oppo',price: 999}, {id: 3,pname: '榮耀',price: 1299}, {id: 4,pname: '華為',price: 1999}, ];// 1. 獲取相應的元素var tbody = document.querySelector('tbody')var search_price = document.querySelector('.search-price')var start = document.querySelector('.start')var end = document.querySelector('.end')var product = document.querySelector('.product')var search_pro = document.querySelector('.search-pro')setData(data)// 2. 把數據渲染到頁面中function setData(mydata) {// 先清空原來tbody里面的數據tbody.innerHTML = ''mydata.forEach(function(value) {// console.log(value)var tr = document.createElement('tr')tr.innerHTML = `<td>${value.id}</td><td>${value.pname}</td><td>${value.price}</td>`tbody.appendChild(tr)})}// 3. 根據價格查詢商品// 當我們點擊了按鈕,就可以根據我們的商品價格去篩選數組里面的對象search_price.addEventListener('click', function() {// alert(111)var newData = data.filter(function(value) {return value.price >= start.value && value.price <= end.value})console.log(newData)// 把篩選之后的對象渲染到頁面中setData(newData)})// 4. 根據商品名稱查找shangp// 如果查詢數組中唯一的元素,用some方法更合適,因為他找到這個元素后就不再進行循環,效率更高search_pro.addEventListener('click', function() {var arr = []data.some(function(value) {if(value.pname === product.value) {// console.log(value)arr.push(value)return true // return 后面必須寫true}})// 把拿到的數據渲染到頁面中setData(arr)})</script> </body></html>

    3.3 字符串方法

    trim() 方法會從一個字符串的兩端刪除空白字符。
    str.trim()
    trim() 方法并不影響原字符串本身,它返回的是一個新的字符串。

    3.4 對象方法

  • Object.keys() 用于獲取對象自身所有的屬性
  • Object.keys(obj)
    效果類似 for…in
    返回一個由屬性名組成的數組

  • Object.defineProperty() 定義對象中新屬性或修改原有的屬性。(了解)
  • Object.defineProperty(obj, prop, descriptor)
    obj:必需。目標對象
    prop:必需。需定義或修改的屬性的名字
    descriptor:必需。目標屬性所擁有的特性





    總結

    以上是生活随笔為你收集整理的JavaScript高级之ES5 中的新增方法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。