正則改成/\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~~~
只是s
、t
、r
...~
這樣一串字符在一起。 /b
是否存在是正則表達(dá)式解析程序發(fā)現(xiàn)你的string~~~
是string
接~~~
,在string
就已經(jīng)結(jié)束了一個(gè)單詞,所以它判定你這個(gè)字符串符合/string\b/g
這樣的模式。
of course 都這么寫了 試試不就知道了
樓主不要灰心,很簡單的
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、沒做過不知道;
如果不介意在對(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}
}
題主可能是想有這樣的代碼:
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)境的問題。
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 ++;
}
}
因?yàn)槟愕牡诙€(gè)路由優(yōu)先匹配到,所以第三個(gè)路由就不會(huì)匹配了。你把他們兩個(gè)位置調(diào)換一下。
<Route path={`${match.path}/aircompressor`} component={AirCompressorTable} />
TypeScript有一個(gè)關(guān)于react的教程,你可以看看那個(gè)。里面有關(guān)于單元測(cè)試的。
https://github.com/Microsoft/...
什么都不配的時(shí)候,應(yīng)該是沒有生成策略的,需要手動(dòng)設(shè)定主鍵的。
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。