您好,登錄后才能下訂單哦!
這篇“前端常用的JavaScript操作示例”文章,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要參考一下,對于“前端常用的JavaScript操作示例”,小編整理了以下知識點,請大家跟著小編的步伐一步一步的慢慢理解,接下來就讓我們進入主題吧。
1.JavaScript主要用來向HTML頁面添加交互行為。 2.JavaScript可以直接嵌入到HTML頁面,但寫成單獨的js文件有利于結構和行為的分離。 3.JavaScript具有跨平臺特性,在絕大多數瀏覽器的支持下,可以在多種平臺下運行。
例:刪除"10km"中的km
var str = "10km" //方法一: var res = str.replace('km', '') //方法二: var res = str.split('km').join('') //join方法不傳參默認使用逗號作為分隔符
var arr = [1, 2, 3, 1, 2] //方法一: var res = [...new Set(arr)] //方法二: var res = Array.from(new Set(arr)) //方法三: var res = []; for (var i in arr) { if (res.indexOf(arr[i] === -1) { res.push(arr[i]) } } //方法四: var res = [] arr.map((item, index) => { if (res.indexOf(item) === -1){ res.push(item) } })
附:Array.from()的用法:
Array.from(arr, mapfn,thisArg):用于將兩類可以把對象轉換為真正的數組。
類似數組的對象(必須有length屬性)
可遍歷的對象(部署了Iterator接口的,String,ES6新增的Map和Set)。
參數:第一個是數組,必傳;第二個是一個函數(類似map函數),對數組元素進行操作后再返回數組,可選;第三個是對于this關鍵字的指向,可選。
var obj1 = { 0: 'a', 1: 'b', 2: 'c' } var arr1 = Array.from(obj1) console.log(arr1) // [] /* 1. 類數組對象,具有length屬性,而普通對象是沒有length屬性的。*/ /* 2. 類數組對象的屬性名必須為非負整數,對象中的屬性名會被當做字符串處理。*/ var obj2 = { 0: 'a', 1: 'b', 2: 'c', length: 2 } var arr2 = Array.from(obj2) console.log(arr2) // ["a", "b"] var obj3 = { 0: 'a', 1: 'b', 2: 'c', length: 4 } var arr3 = Array.from(obj3) console.log(arr3) // ["a", "b", "c", undefined] var obj4 = { 0: 'a', 1: 'b', 2: 'c', length: 3 } var arr4 = Array.from(obj4, item => item + 1) console.log(arr4) // ["a1", "b1", "c1"] var obj5 = { "1": "a", "0": "b", length: 2 } var arr5 = Array.from(obj5) console.log(arr5) // ["b", "a"]
var obj = { 0: 'a', 1: 'b', length: 2 } //方法一: Array.from(obj) //方法二: Array.prototype.slice.call(obj) //方法三: Array.prototype.concat.apply([], obj) //方法四: Array.prototype.splice.call(obj, 0) // 返回被刪除的元素,原對象obj會被破壞掉 console.log(obj) // obj: {length: 0} // 上述的Array.prototype 均可用[]代替
//方法一: JSON.parse(JSON.stringify(obj)) //方法二:遞歸遍歷 function clone (obj) { var res = obj.constructor === Array ? [] : {} for (var i in obj) { res[i] = typeof obj[i] === 'object' ? clone(obj[i]) : obj[i] // 即obj[i]為數組或對象,繼續拷貝 } return res } //附:數組淺拷貝 var arr = ['a', ['b', ['c']]] //1.使用slice() var res = arr.slice(0) console.log(res) // ['a', ['b', ['c']]] res[1][1] = 'b' console.log(res) // ['a', ['b', ['b']]] console.log(arr) // ['a', ['b', ['b']]] //2.使用concat() var arr = ['a', ['b', ['c']]] var res = [].concat(arr) res[1][1] = 'b' console.log(res) // ['a', ['b', ['b']]] console.log(arr) // ['a', ['b', ['b']]] //Object.assign()也只能實現對象的淺拷貝,它只是一級屬性復制,比淺拷貝多深拷貝了一層 var obj = {a: "a", b: {c: "d"}} var res = Object.assign({}, obj) res.b.c= "e" console.log(res) // {a: "a", b: {c: "e"}} console.log(obj) // {a: "a", b: {c: "e"}}
var date = new Date().getDate(); function f(){ console.log(date); if(false){ var date = 0;//變量提升 } } f();//undefined
let a = 1; let b = 2; function tag(arr, value1, value2){ console.log(arr); //["hello ", " world ", ""] console.log(value1); //3 console.log(value2); //2 } tag`hello ${a + b} world ${a * b}`; /** 如果函數名后的模板字符串中沒有變量,則直接將其作為函數參數調用。 如果存在變量則先將模板字符串處理成多個參數,再調用函數。 處理規則: 1.默認該函數第一個參數為數組,該數組的成員是模板字符串中那些沒有變量替換的部分。 2.變量替換只發生在數組的第一個成員與第二個成員之間、第二個成員與第三個成員之間。 以此類推,故arr中第三個成員為"",原因是${a * b}的變量替換發生在第二個成員與第三個成員之間, 所以必須存在第三個成員。 3.函數的其他參數,都是模板字符串各個變量被替換后的值。 函數形如: function tag(stringArr, ...value){} */
以上是“前端常用的JavaScript操作示例”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。