鍍金池/ 問答/ HTML問答
久不遇 回答

正則改成/\d+/g
/\d*/g可以匹配0個(gè)數(shù)字,所以就不會(huì)停止,死循環(huán)了


MDN 正則表達(dá)式
正則表達(dá)式用于匹配符合一定模式的字符串。
*表示匹配前一個(gè)表達(dá)式0次或多次。
所以/c/g.test("a string")表示字符串"a string"是否有一個(gè)c,而/c*/g.test("a string")表示字符串"a string"是否至少有0個(gè)c。顯然至少有0個(gè)是絕對(duì)絕對(duì)會(huì)成立的。所以/c*/g.exec("a string")在一開始就會(huì)匹配成功(因?yàn)槟阈枰辽?個(gè),就算我開頭是a,我返回給你0個(gè)c`也就是空字符串也符合你要求,如果你用while來循環(huán),我就一直給你空字符串)。


正則用于匹配符合一定模式的字符串。
比如/b表示單詞邊界,/string\b/g.test("strings")false,是因?yàn)樽址?code>strings在g后還有s所以不是單詞邊界。/string\b/g.test("string~~~")true因?yàn)?code>g后面接~,單詞已經(jīng)結(jié)束了。
但是這不能說g~間有一個(gè)單詞邊界/b這樣的東西。字符串只是簡單的一串字符,string~~~只是st、r...~這樣一串字符在一起。 /b是否存在是正則表達(dá)式解析程序發(fā)現(xiàn)你的string~~~string~~~,在string就已經(jīng)結(jié)束了一個(gè)單詞,所以它判定你這個(gè)字符串符合/string\b/g這樣的模式。

你的瞳 回答

樓主不要灰心,很簡單的

function padZero(number) {
  if (number < 10) {
    number = '0' + number;
  }
  
  return number;
}

// 填寫順序: 年 月 日 時(shí) 分 秒
var date = new Date(0, 0, 0, 0, 0, 63);

// 00:01:03
console.log(
  padZero(date.getHours()) + ':' +
  padZero(date.getMinutes()) + ':' + 
  padZero(date.getSeconds())
);

padZero是為了補(bǔ)充前面的0的,不加的話不好看

秒數(shù)增加到3599時(shí),會(huì)變成 00:59:59 。再加一秒變成3600,一個(gè)循環(huán),又會(huì)變成 00:00:00。
你設(shè)置一個(gè)setInterval(),計(jì)時(shí)器就會(huì)跑起來了

不舍棄 回答

標(biāo)記一下,同求此問題

愿如初 回答
如何讓f(list)執(zhí)行完輸出結(jié)果后才執(zhí)行j++,然后再進(jìn)入下一個(gè)循環(huán)?

本來就是這樣的啊。。。就算你包含異步方法,那也是執(zhí)行完輸出結(jié)果,只是沒等待異步結(jié)果返回而已。

const f = (list) => {
    return new Promise((reslove) => {
        setTimeout(() => {
            console.log(list);
            reslove();
        }, 1000);
    })
}

async function run() {
    let arr = ['abc', 'def']
    let j = 0;

    while (j < arr.length) {
        const list = arr[j];
        await f(list);
        console.log('j=', j);
        j++;
    }
}

run();
淚染裳 回答

之所以問上面的問題,是因?yàn)槲乙玫絛om以后要去init一個(gè)echart表格。目前找到了3個(gè)解決辦法:1.是問題中提到的方法,放到setTimeout的回調(diào)中執(zhí)行,并設(shè)置一個(gè)時(shí)間。2.改用[hidden]來控制。3.將需要控制的部分做成子組件

遺莣 回答

不加入復(fù)選框呢? 查一下netwotk接口是否獲取成功 還有一年返回?cái)?shù)據(jù)是否符合bootstrap-table的填充規(guī)范

殘淚 回答

看你需要用什么框架搭。
如果用react肯定是比較快的,但是需要react比較精通的人,3年以上react開發(fā)吧,不然代碼會(huì)很亂,容易出現(xiàn)bug。
用vue的話前期比較快,要求也沒react高,工作經(jīng)驗(yàn)2年以上吧,但是網(wǎng)站想做的特別大,后期維護(hù)就是一個(gè)問題。
用h5的話無疑是最慢的,也需要對(duì)原生css js html比較了解,基礎(chǔ)很重要,3年以上吧。或者對(duì)第三方框架比較熟練,bootstrap等

情殺 回答

同上,參考手淘的方案(Flexible), rem + dpr.
變形 是什么意思 元素 寬高 比例, 還是什么?

不舍棄 回答

font-awesome.css 中需要加載 webfont 字體文件。可能是沒有配置相關(guān)的 loader

參考:

https://segmentfault.com/q/1010000004204220/a-1020000004205861

失魂人 回答

ko2 不了解,

1、 <input type="file" multiple onchange="fileinfo(this.files)" name="up"> 應(yīng)該是可以選擇多個(gè)文件,但是我還是只能選擇一個(gè),是不是我的寫法問題?

寫法應(yīng)該沒問題,你可以一次選擇多個(gè),但是多次選擇,應(yīng)該只會(huì)保留最后一個(gè)(猜測(cè));

2、選中文件通過 HTMLInputElement.files 屬性返回 — 返回值是一個(gè) FileList 對(duì)象,這個(gè)對(duì)象是一個(gè)包含了許多 File 文件的列表。File 對(duì)象是特殊類型的 Blob,且可以用在任意的 Blob 類型的 context 中。比如說, FileReader, URL.createObjectURL(), createImageBitmap(), 及 XMLHttpRequest.send() 都能處理 Blob 和 File。

3、4、沒做過不知道;

拮據(jù) 回答

通過設(shè)置front-matter來添加分類和標(biāo)簽, 具體可以參考官方文檔

如果不介意在對(duì)象字面量外寫的話,就是樓上那樣:

var a = {
    p1: [1]
}
a.p2 = a.p1

如果題主要在對(duì)象字面量內(nèi)寫的話,可能要這樣,不過這里 p2 實(shí)際上是訪問器屬性:

var a = {
    p1: [1],
    get p2(){return this.p1},
    set p2(v){this.p1=v}
}

clipboard.png

題主可能是想有這樣的代碼:

var a = {
    p1: [1],
    p2: a.p1//this.p1
};

實(shí)際上都是不行的,因?yàn)閷?duì)象字面量里 this 和 a 都是從作用域鏈中去尋找的,ES6之前只有兩個(gè)作用域,全局或函數(shù),在這里,沒有函數(shù),就是全局作用域,所以 this 和 a 就會(huì)從當(dāng)前全局作用域中去尋找,這個(gè)可以通過下面代碼驗(yàn)證:

window.p1=1;
var a = {
    p1: [1],
    p2: this.p1
}
a.p2// 1 ,全局作用域中,瀏覽器端 this 指向window,所以a.p2被 window.p1 賦值

再考慮下面代碼:

var a={p1:111};
var a = {
    p1: [1],
    p2: a.p1
}
a.p2//111

這個(gè)稍微復(fù)雜些,在這個(gè)賦值表達(dá)式里,

1、先獲得 a 的引用,此時(shí) a 還是指向 {p1:111}
2、計(jì)算右值,通過 var a={p1:111}; 和 a.p1 得出p2=111,p1=[1]
3、把 a 重新指向這個(gè)對(duì)象;

關(guān)于賦值執(zhí)行順序,可以參考這篇博客,再考慮下面代碼:

var b={p1:111};
var a = {
    p1: [1],
    p2: a.p1// 在這里計(jì)算 a.p1值的時(shí)候,由于 var 的變量提升,這里 a 被提前聲明,不過值是 undefined,所以報(bào)錯(cuò):Cannot read property 'p1' of undefined
}

上面的代碼實(shí)際相當(dāng)于:

var a,b;//賦值前值為undefined
b={p1:111};
a = {
    p1: [1],
    p2: a.p1//報(bào)錯(cuò)因?yàn)?a 是 undefined,獲取 undefined 的屬性會(huì)報(bào)錯(cuò)
}
怣痛 回答

找到答案了,是線上環(huán)境的問題。

入她眼 回答

試試用request/promise

const rp = require('request-promise')

router.post('/login', async ctx => {
  const result = await rp({
    url: 'http://118.24.41.128:29999/member/login.do',
    method: 'POST',
    json: true,
    headers: {
      'content-type': 'application/json'
    },
    body: ctx.request.body
  })

  ctx.body = result
})
薔薇花 回答

vuex中的mutation的寫法,用于修改state中的數(shù)據(jù)
等同于:

const mutations = {
  CHANGE_MSG (state, msg) {
    state.message = msg
  },
  INCREMENT_COUNTER (state) {
    state.counter ++;
  }
}

具體可以查看 https://vuex.vuejs.org/zh-cn/...

愛是癌 回答

因?yàn)槟愕牡诙€(gè)路由優(yōu)先匹配到,所以第三個(gè)路由就不會(huì)匹配了。你把他們兩個(gè)位置調(diào)換一下。

<Route path={`${match.path}/aircompressor`} component={AirCompressorTable} />

什么都不配的時(shí)候,應(yīng)該是沒有生成策略的,需要手動(dòng)設(shè)定主鍵的。