国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【速記】如何用一行代碼將駝峰風(fēng)格的字符串轉(zhuǎn)化成中劃線風(fēng)格的字符串

Flands / 583人閱讀

摘要:起源今天在閱讀一個(gè)庫(kù)的關(guān)于處理元素自定義屬性的時(shí)候,發(fā)現(xiàn)了將駝峰風(fēng)格的字符串轉(zhuǎn)化成中劃線風(fēng)格的字符串的技巧,以方便根據(jù)來(lái)移除實(shí)際元素對(duì)應(yīng)的,至于對(duì)象的和自定義屬性的對(duì)應(yīng)規(guī)則,你可以閱讀這邊文檔發(fā)現(xiàn)代碼位置文件匹配大寫(xiě)字母代碼樣例

起源

今天在閱讀snabbdom(一個(gè)Virtual DOM 庫(kù))的關(guān)于處理元素自定義屬性的時(shí)候,發(fā)現(xiàn)了將駝峰風(fēng)格的字符串轉(zhuǎn)化成中劃線風(fēng)格的字符串的技巧,以方便根據(jù)dataset來(lái)移除實(shí)際DOM元素對(duì)應(yīng)的attribute,至于DOM對(duì)象的dataset和HTML自定義屬性的對(duì)應(yīng)規(guī)則,你可以閱讀這邊文檔:https://developer.mozilla.org...

發(fā)現(xiàn)代碼位置

文件src/modules/dataset.ts

import {VNode, VNodeData} from "../vnode";
import {Module} from "./module";

export type Dataset = Record;

const CAPS_REGEX = /[A-Z]/g;  //匹配大寫(xiě)字母

function updateDataset(oldVnode: VNode, vnode: VNode): void {
  let elm: HTMLElement = vnode.elm as HTMLElement,
    oldDataset = (oldVnode.data as VNodeData).dataset,
    dataset = (vnode.data as VNodeData).dataset,
    key: string;

  if (!oldDataset && !dataset) return;
  if (oldDataset === dataset) return;
  oldDataset = oldDataset || {};
  dataset = dataset || {};
  const d = elm.dataset;

  for (key in oldDataset) {
    if (!dataset[key]) {
      if (d) {
        if (key in d) {
          delete d[key];
        }
      } else {
        elm.removeAttribute("data-" + key.replace(CAPS_REGEX, "-$&").toLowerCase()); 
      }
    }
  }
  for (key in dataset) {
    if (oldDataset[key] !== dataset[key]) {
      if (d) {
        d[key] = dataset[key];
      } else {
        elm.setAttribute("data-" + key.replace(CAPS_REGEX, "-$&").toLowerCase(), dataset[key]); 
      }
    }
  }
}

export const datasetModule = {create: updateDataset, update: updateDataset} as Module;
export default datasetModule;
代碼樣例
"theStringYouWanToChange".replace(/[A-Z]/g,"-$&").toLowerCase();
運(yùn)行結(jié)果
"the-string-you-wan-to-change"
相關(guān)文檔

String.prototype.replace(): https://developer.mozilla.org...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/99519.html

相關(guān)文章

  • 編寫(xiě)可維護(hù)javascript

    摘要:為什么要編寫(xiě)可維護(hù)的軟件生命周期的成本消耗在了維護(hù)上。相等具有強(qiáng)制類型轉(zhuǎn)換的機(jī)制。檢測(cè)字符串檢測(cè)數(shù)字檢測(cè)布爾值檢測(cè)檢測(cè)引用值引用值也稱為對(duì)象,檢測(cè)某個(gè)引用值的類型的官方最好的方法是使用運(yùn)算符。 為什么要編寫(xiě)可維護(hù)的javascript? 軟件生命周期80%的成本消耗在了維護(hù)上。 幾乎所有的軟件維護(hù)者都不是它的最初作者。 編碼規(guī)范提高了軟件的可讀性,它讓工程師能夠快速且充分地理解新的代...

    singerye 評(píng)論0 收藏0
  • 編寫(xiě)可維護(hù)javascript

    摘要:為什么要編寫(xiě)可維護(hù)的軟件生命周期的成本消耗在了維護(hù)上。相等具有強(qiáng)制類型轉(zhuǎn)換的機(jī)制。檢測(cè)字符串檢測(cè)數(shù)字檢測(cè)布爾值檢測(cè)檢測(cè)引用值引用值也稱為對(duì)象,檢測(cè)某個(gè)引用值的類型的官方最好的方法是使用運(yùn)算符。 為什么要編寫(xiě)可維護(hù)的javascript? 軟件生命周期80%的成本消耗在了維護(hù)上。 幾乎所有的軟件維護(hù)者都不是它的最初作者。 編碼規(guī)范提高了軟件的可讀性,它讓工程師能夠快速且充分地理解新的代...

    weknow619 評(píng)論0 收藏0
  • 編程風(fēng)格

    摘要:對(duì)于構(gòu)造函數(shù),使用大駝峰式大小寫(xiě)。構(gòu)造函數(shù)的命名應(yīng)當(dāng)是名詞。引號(hào)的使用,字符串,傾向于使用單引號(hào),并始終保持這個(gè)風(fēng)格。塊語(yǔ)句間隔,推薦使用風(fēng)格。風(fēng)格風(fēng)格風(fēng)格此處省略了的使用規(guī)范使用規(guī)范循環(huán)必須使用。 基本格式 使用4個(gè)空格字符作為一個(gè)縮進(jìn)層級(jí),(記得配置編輯器)。 不要省略分號(hào)。 行的長(zhǎng)度限定在80個(gè)字符。 長(zhǎng)度超過(guò)限制時(shí),選擇在運(yùn)算符之后換行,下一行需要兩個(gè)層級(jí)的縮進(jìn)。例外,變量...

    junfeng777 評(píng)論0 收藏0
  • Google 推出 Java 編碼規(guī)范

    摘要:格式術(shù)語(yǔ)說(shuō)明塊狀結(jié)構(gòu)指的是一個(gè)類,方法或構(gòu)造函數(shù)的主體。方法名或構(gòu)造函數(shù)名與左括號(hào)留在同一行。空白垂直空白以下情況需要使用一個(gè)空行類內(nèi)連續(xù)的成員之間字段,構(gòu)造函數(shù),方法,嵌套類,靜態(tài)初始化塊,實(shí)例初始化塊。 前言 這份文檔是Google Java編程風(fēng)格規(guī)范的完整定義。當(dāng)且僅當(dāng)一個(gè)Java源文件符合此文檔中的規(guī)則, 我們才認(rèn)為它符合Google的Java編程風(fēng)格。 與其它的編程風(fēng)格...

    Donne 評(píng)論0 收藏0
  • [npm資源] naming-style,快速轉(zhuǎn)換各種命名風(fēng)格

    摘要:一個(gè)簡(jiǎn)單的工具類庫(kù),用于將文本轉(zhuǎn)化為不同格式的命名風(fēng)格如駝峰式連字符式常量式等。 naming-style https://www.npmjs.com/package... 一個(gè)簡(jiǎn)單的工具類庫(kù),用于將文本轉(zhuǎn)化為不同格式的命名風(fēng)格(如:駝峰式、連字符式、常量式等)。 安裝 yarn add naming-style or npm i naming-style 使用 import { ...

    xiao7cn 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<