日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

18 個基本 JavaScript 方法代碼片段

來源: 責編: 時間:2024-06-21 17:22:41 214觀看
導讀在我們的日常開發過程中,我們經常使用許多常見的 JavaScript 代碼片段,例如復制內容或從 URL 中檢索特定參數。這些代碼片段都有固定的實現,方便開發,今天我們來了解一下7個常用的代碼片段。1、函數節流/** Function thro

在我們的日常開發過程中,我們經常使用許多常見的 JavaScript 代碼片段,例如復制內容或從 URL 中檢索特定參數。l4w28資訊網——每日最新資訊28at.com

l4w28資訊網——每日最新資訊28at.com

這些代碼片段都有固定的實現,方便開發,今天我們來了解一下7個常用的代碼片段。l4w28資訊網——每日最新資訊28at.com

1、函數節流

/** Function throttling timer version */function throttle(callback: Function, delay: number) {   let timer: number | null   return function () {     if (timer) return     const args = arguments //Use closure to save parameter array     timer = setTimeout(() => {       callback.apply(null, args)       timer = null     }, delay)   }}

2、URL 解碼和編碼

/** Encode URL */function encodeURL(url: string, isComponent = true): string {   return isComponent ? encodeURIComponent(url) : encodeURI(url)}/** Decode URL */function decodeURL(url: string, isComponent = true): string {   return isComponent ? decodeURIComponent(url) : decodeURI(url)}

3、使用JavaScript 獲取全局 CSS 變量

/** * @description Use JS to get global css variables * @param cssVariableName variable name * @returns {string} variable value*/function getCssVariableValue(cssVariableName: string): string {   return getComputedStyle(document.documentElement).getPropertyValue(cssVariableName)}

4、使用 JS 設置全局 CSS 變量

/**  * @description Set global CSS variables with JS  * @param {string} cssVariableName variable name  * @param {string} cssVariableValue variable value  */function setCssVariableValue(cssVariableName: string, cssVariableValue: string): void {   document.documentElement.style.setProperty(cssVariableName, cssVariableValue)}

5、清除所有 cookies 

/** * @description clear all cookies */function clearCookie(): void {   const keyList = document.cookie.match(/[^ =;]+(?=/=)/g) as string[] | null   keyList && keyList.forEach(key => (document.cookie = `${key}=0;path=/;expires=${new Date(0).toUTCString()}`))}

6、清除所有項目緩存

/** * @description Clear all project caches */function clearCache(): void {  window.localStorage.clear()  window.sessionStorage.clear()  const keyList = document.cookie.match(/[^ =;]+(?=/=)/g) as string[] | null  keyList && keyList.forEach(key => (document.cookie = `${key}=0;path=/;expires=${new Date(0).toUTCString()}`))}

7、通過名稱獲取 URL 查詢參數 

/**  * @description Get URL query parameters by name  * @param {string} key The key of the query parameter that needs to be obtained  * @param {string} url The link that needs to be parsed, the default is window.location.href  * @returns {string | null} obtained value corresponding to key  */function getQueryByName(key, url = window.location.href) {   const queryNameRegExp = new RegExp(`[?&]${key}=([^&]*)(?:&|$)`)   const queryNameMatch = url.match(queryNameRegExp)   return queryNameMatch ? decodeURIComponent(queryNameMatch[1]) : null}

8、登錄頁面時間前綴

/**  * @description time prefix of login page  * @returns {string} time prefix  */function timeFix(): string {   const time = new Date()   const hour = time.getHours()   return hour < 9 ? 'Good morning' : hour <= 11 ? 'Good morning' : hour <= 13 ? 'Good afternoon' : hour < 20 ? 'Good afternoon' : 'Good evening'}

9、登錄頁面上的歡迎信息

/**  * @description Welcome message on the login page  * @returns {string} random welcome message  */function welcome(): string {   const list = ['Long time no see, I miss you so much! ', 'Wait until the stars go to sleep before I miss you', 'We are open today']   return list[Math.floor(Math.random() * list.length)]}

10、遞歸深層復制

/**  * @description Make a deep copy of the incoming data and return it  * @param {any} source data source  * @returns {any} copied data  */function deepClone(source: any): any {   if (!source || typeof source !== 'object') return source   if (source instanceof Date) return new Date(source)   if (source instanceof RegExp) return new RegExp(source)   const target = Array.isArray(source) ? ([] as Record<any, any>) : ({} as Record<any, any>)   for (const key in source) target[key] = typeof source[key] === 'object' ? deepClone(source[key]) : source[key]   return target}

11、隨機生成一個 UUID 

/**  * @description Randomly generate a UUID  * @returns {string} generated uuid  */function getRandomUUID(): string {   const tempURL = URL.createObjectURL(new Blob())   const uuidStr = tempURL.toString()   const separator = uuidStr.includes('/') ? '/' : ':'   URL.revokeObjectURL(tempURL)   return uuidStr.substring(uuidStr.lastIndexOf(separator) + 1)}function getRandomUUID(): string {   const fn = (): string => (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1)   return fn() + fn() + '-' + fn() + '-' + fn() + '-' + fn() + '-' + fn() + fn() + fn()}

12、隨機布爾值

/**  * @description random boolean value  * @returns {boolean} true | false  */function getRandomBoolean(): boolean {   return Math.random() > 0.5}

13、反轉字符串

/**  * @description reverse string  * @param {string} str string  * @returns {string} reversed string  */function reverseString(str: string): string {   return str.split('').reverse().join('')}

14、隨機生成十六進制顏色

/**  * @description Randomly generates a color string in Hex format  * @returns {string} Color string in Hex format  */function getRandomHexColor(): string {   return `#${Math.floor(Math.random() * 0xffffff).toString(16)}`}

15、獲取變量的真實類型

/**  * @description Get the real type of the variable  * @param {any} variable variable of any type  * @returns {string} variable type  */function getRawType(variable: any): string {   return Object.prototype.toString.call(variable).split(' ')[1].replace(']', '').toLowerCase()}

16、將文本復制到剪貼板

/**  * @description Copy text to clipboard  * @param {string} text The copied text  */function copyText(text: string): void {   // Whether to support navigator.clipboard attribute   const isClipboardApiSupported = window.navigator && window.navigator.clipboard   if (isClipboardApiSupported) {     window.navigator.clipboard.writeText(text)   } else {     const textarea = document.createElement('textarea')     textarea.readOnly = true     textarea.value = text     textarea.style.position = 'absolute'     textarea.style.top = '-9999px'     textarea.style.left = '-9999px'     document.body.appendChild(textarea)     textarea.select()     document.execCommand('copy')     textarea.remove()   }}

17、滾動到頂部

/**  * @description scroll to top  */function scrollToTop(element: HTMLElement): void {   element.scrollIntoView({ behavior: 'smooth', block: 'start' })}

18、對象通用方法

const obj = { a: 1, b: 2, c: 3, d: 4 }//Object.keys()// Will return an array consisting of the given object's own enumerable propertiesObject.keys(obj) // ['a', 'b', 'c', 'd']//Object.values()// Returns an array of all enumerable property values of the given object itselfObject.values(obj) // [1, 2, 3, 4]//Object.entries()// Returns an array of key-value pairs for the given object's own enumerable propertiesObject.entries(obj) // [['a', 1], ['b', 2], ['c', 3], ['d', 4]]//Object.fromEntries()//Convert the list of key-value pairs into an object, which is the reverse operation of Object.entries()Object.fromEntries( [['a', 1], ['b', 2]]) // { a: 1, b: 2 }// hasOwnProperty()// Returns a Boolean value indicating whether the object has the specified attribute in its own properties (that is, whether it has the specified key)obj.hasOwnProperty('a') // trueobj.hasOwnProperty('fff') // false//Object.assign()// Used to copy the values of all enumerable properties from one or more source objects to the target object. It will return the target object.const target = { a: 1, b: 2 }const source = { b: 4, c: 5 }const result = Object.assign(target, source) // { ...target, ...source } has the same effectconsole.log(result) // {a: 1, b: 4, c: 5}

總結

以上就是我今天想與你分享的全部內容,希望這些內容對你有所幫助。l4w28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-95546-0.html18 個基本 JavaScript 方法代碼片段

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 盤點JavaScript focus/blur(聚焦)實際應用

下一篇: Python十個常用的自動化腳本

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产精品日韩高清| 欧美国产成人精品| 亚洲欧美在线一区二区| 亚洲欧美一区二区视频| 久久久精品日韩| 欧美顶级艳妇交换群宴| 欧美日韩中文精品| 国产日产高清欧美一区二区三区| 亚洲欧美日韩精品久久久| 欧美一级成年大片在线观看| 久久婷婷麻豆| 欧美日韩免费在线视频| 国产伦精品一区二区三区四区免费 | 亚洲高清色综合| 一区二区三区福利| 久久精品视频亚洲| 欧美精品激情blacked18| 国产精品视频免费观看www| 在线观看欧美激情| 亚洲新中文字幕| 久久婷婷蜜乳一本欲蜜臀| 欧美日韩第一区| 狠狠噜噜久久| 亚洲一级黄色av| 免费成人高清| 国产精品揄拍一区二区| 亚洲精品欧美激情| 久久精品亚洲一区| 欧美午夜一区二区三区免费大片| 精品av久久707| 亚洲免费在线观看视频| 欧美不卡视频一区| 国产麻豆9l精品三级站| 亚洲欧洲在线看| 欧美一区二区在线看| 欧美日韩www| 精品成人a区在线观看| 亚洲一级黄色av| 免费不卡中文字幕视频| 国产伦精品一区二区三区视频孕妇 | 久久综合伊人77777蜜臀| 国产精品v欧美精品v日韩| 亚洲二区视频| 久久9热精品视频| 欧美视频官网| 亚洲破处大片| 久久亚洲欧洲| 国产午夜精品全部视频播放| 在线视频一区二区| 欧美精品91| 亚洲国产99精品国自产| 欧美一区二区网站| 国产精品美女久久| 一本色道久久综合亚洲精品不卡| 老司机一区二区| 韩国在线视频一区| 欧美一区久久| 国产精品久久九九| aa级大片欧美三级| 欧美激情精品久久久六区热门 | 久久国产精品久久国产精品| 国产精品揄拍一区二区| 一区二区三区四区五区精品| 欧美高清视频| 亚洲国产综合91精品麻豆| 久久永久免费| 影音先锋中文字幕一区| 久久九九热re6这里有精品| 国产美女搞久久| 亚洲综合成人婷婷小说| 欧美日韩喷水| 日韩亚洲视频在线| 欧美精品一区二| 亚洲人成在线观看网站高清| 暖暖成人免费视频| 亚洲精品123区| 欧美激情aaaa| 亚洲美女淫视频| 狠狠色噜噜狠狠狠狠色吗综合| 亚洲欧美日韩一区| 国产精品美女久久久久av超清| 亚洲一区二区三区高清 | 狠狠色2019综合网| 久久久激情视频| 国产一区视频观看| 久久久久国产一区二区三区| 国内精品国产成人| 久久噜噜噜精品国产亚洲综合| 国精品一区二区三区| 久久久久国产精品一区三寸| 精品999久久久| 欧美xx69| 99re6热在线精品视频播放速度| 欧美理论在线播放| 一区二区免费看| 国产精品久久久对白| 亚洲在线不卡| 国产欧美日韩亚州综合| 久久精品国产亚洲精品| 在线观看日韩www视频免费 | 午夜免费日韩视频| 狠狠入ady亚洲精品| 久久免费午夜影院| 最新高清无码专区| 欧美三级韩国三级日本三斤| 亚洲特黄一级片| 国产免费观看久久黄| 久久久久久久999| 亚洲激情专区| 国产精品99一区二区| 羞羞漫画18久久大片| 黑人巨大精品欧美黑白配亚洲| 蜜臀av国产精品久久久久| 亚洲毛片在线看| 国产精品美女久久久免费| 欧美一区二区成人| 亚洲丰满在线| 欧美视频一区二区三区在线观看| 亚洲欧美日韩一区二区三区在线| 国产亚洲一本大道中文在线| 免费成人高清视频| 亚洲无限av看| 国内自拍视频一区二区三区| 欧美肥婆在线| 亚洲欧美国产制服动漫| 一区视频在线| 欧美日韩亚洲一区二区三区在线 | 亚洲欧美日韩精品久久久久| 一区在线视频| 欧美噜噜久久久xxx| 午夜免费久久久久| 亚洲黄色成人| 国产精品区一区二区三区| 久久综合综合久久综合| 在线亚洲电影| 在线成人激情黄色| 国产精品久久久久77777| 久久亚洲综合色| 亚洲一区三区电影在线观看| 曰韩精品一区二区| 国产精品乱看| 欧美国产另类| 欧美有码在线观看视频| 亚洲精品中文在线| 国产一区二区中文字幕免费看| 欧美日韩国产亚洲一区| 久久免费高清视频| 亚洲影院色无极综合| 亚洲国产美女久久久久| 国产欧美日韩综合一区在线播放| 欧美激情精品久久久六区热门| 久久国产精品色婷婷| 亚洲一区二区三区精品动漫| 亚洲成在人线av| 国产欧美视频一区二区三区| 欧美人成在线| 葵司免费一区二区三区四区五区| 亚洲综合欧美| 亚洲最新在线| 亚洲国产精品一区在线观看不卡| 久久久91精品国产一区二区三区| 亚洲精品一区二区网址| 国产亚洲欧美在线| 国产精品美女在线观看| 欧美国产高清| 另类人畜视频在线| 欧美在线你懂的| 亚洲性视频h| 亚洲美女视频| 最近中文字幕mv在线一区二区三区四区| 国产一区在线看| 国产精品卡一卡二卡三| 欧美激情视频一区二区三区在线播放 | 欧美日韩美女在线| 美日韩在线观看| 久久久成人精品| 久久精品91久久久久久再现| 亚洲综合不卡| 亚洲天堂av综合网| 99热在这里有精品免费| 亚洲国产另类久久久精品极度 | 午夜一级久久| 亚洲一区二区黄色| 一本色道久久综合| 日韩视频在线免费| 亚洲人体偷拍| 亚洲国产精品久久久久婷婷884| 韩国一区电影| 狠狠爱综合网| 一区二区在线视频| 黄页网站一区| 极品日韩久久| 伊人激情综合| 在线观看亚洲视频啊啊啊啊| 伊人成人在线| 在线日韩欧美视频| 在线看不卡av| 亚洲大胆av| 亚洲国产日韩精品| 亚洲片区在线| 99精品国产福利在线观看免费| 亚洲巨乳在线| 在线亚洲观看| 亚洲综合清纯丝袜自拍|