js正則目前不支持多層遞歸,所以不能查找多級(jí)嵌套的情況
拿你這題來說,可以查找到}√(,然后左邊找{,右邊找),下面代碼沒有什么簡(jiǎn)化內(nèi)容,應(yīng)該很容易看懂。
String.prototype._match = function(a,b,c){
console.log(a,b,c);//這里abc并沒有用到,需要繼續(xù)封裝的話,可以把a(bǔ)參數(shù)代替正則/\}√\(/g,等等
let str = this.toString();
let arr = [];
str.replace(/\}√\(/g,function(item,i){
let flag1=1,flag2=1;
for(var m=i-1;m>=0;m--){
if(str[m]=="}"){
flag1++
}else if(str[m]=="{"){
flag1--
}
if(flag1==0){
break;
}
}
for(var n=i+3;n<str.length;n++){
if(str[n]=="("){
flag2++
}else if(str[n]==")"){
flag2--
}
if(flag2==0){
break;
}
}
flag1 || flag2 || arr.push(str.substring(m,n+1));//flag1 flag2有一個(gè)為true都不追加數(shù)組
})
return arr;
}
console.log('{4}∧(-1)×{{2}√(A)+{2}√(B×(Tan(C)-Tan(D)))}∧(2)'._match())
console.log('{4}∧(-1)×{{2}√(A)+{{4}∧(-1)}√(B×(Tan(C)-Tan(D)))}∧(2)'._match())不知道你為什么要這樣做,只能說個(gè)我認(rèn)為符合題意的答案
主要思路是當(dāng)比較到nth-of-type 或 class不同時(shí),直接去掉
// 首先將字符串按照>符合切割
const selector1="html>body>div.container>ul>li.item:nth-of-type(1)>a.active:nth-of-type(3)";
const selector2="html>body>div.container>ul>li.item:nth-of-type(2)>a:nth-of-type(3)"
const arr1 = selector1.split(/\s*\>\s*/);
const arr2 = selector2.split(/\s*\>\s*/);
// 假設(shè)分割后得到的數(shù)組長(zhǎng)度是一樣的
const text = arr1.map((item, index)=> {
if(arr2[index]!==item){
const child1 = item.split(/[\.\:]/);
const child2 = arr2[index].split(/[\.\:]/);
return child1.filter((item)=> child2.includes(item)).reduce((a, b)=> {
if(b.startsWith('nth-of-type')){
return a+':'+b;
}else{
return a+'.'+b;
}
})
}else{
return item;
}
}).join('>');
console.log(text)
純粹只是看到別人,遇到問題就想到用正則可以解決,很不爽,強(qiáng)答一波.瞎寫的,懶的寫注釋,我自己都看不懂
問題描述有點(diǎn)亂,我理解你的問題大概是這個(gè)意思:
你需要寫一段類似這樣的代碼:
this.setData({
labelAV: labelA,
result1AV: result1A,
result2AV: result2A,
result3AV: result3A,
result4AV: result4A,
result5AV: result5A,
result6AV: result6A,
result7AV: result7A,
result8AV: result8A,
result9AV: result9A
})
但是對(duì)象很長(zhǎng),并且鍵名和對(duì)應(yīng)的變量名都有規(guī)律,所以想問問有什么簡(jiǎn)單的方法?
其實(shí)有辦法的,但是我們一般不會(huì)這樣寫。
可以用eval來實(shí)現(xiàn):
const codes = [ `labelAV: labelA` ];
for ( let i = 0; i < 10; i++ ) {
codes.push( `result${i}AV: result${i}A` );
}
eval( `this.setData( { ${codes.join( ',' )} } )` );
但是建議不要這樣寫代碼,也不要定義一堆resultxA之類的變量,你可以用一個(gè)數(shù)組來保存它們,這樣就會(huì)好處理很多
不好意思,剛回答錯(cuò)問題了,技術(shù)部門會(huì)減員吧,要不就是解散了
[a-zA-Z]包含在[A-z]里面
大寫A在碼表中65 Z是90 a是97 z是122 所以A-z可以表示 a-zA-Z
但是Z到a直接還差幾位 是[\ ]^_等
當(dāng)然不是,他們只保存公鑰,你自己保存私鑰。
你可以watch監(jiān)聽一下,你v-if里判斷的值,在視圖上展示這個(gè)值,看有沒有更新。如果是data里一個(gè)單獨(dú)的布爾值控制。應(yīng)該是可以立即更新的。
可能跟網(wǎng)絡(luò)有關(guān),試試安裝使用cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org應(yīng)該不是error_log 造成的,除非是你這個(gè)error.log文件沒有寫權(quán)限。
建議你檢查下這個(gè)文件是否可寫,然后前端調(diào)試下看看服務(wù)器端返回了什么信息。
主要實(shí)現(xiàn)途徑就是上面說的修改 hosts 。
可以使用 SwitchHosts 來修改
根據(jù)題目和描述,你想讓box的寬高比等于圖片的 640:276, 那么padding-bottom應(yīng)該使用百分比,這個(gè)百分比的實(shí)際像素值參照物是box的父級(jí)container寬度。 在本例中,padding-bottom的值應(yīng)為 276/640 * 100% = 43.125%
實(shí)際dom結(jié)構(gòu)
<div class="box-container" style="width:???">
<div id="box" style="width:100%">
<img/>
</div>
</div>有兩種方法:
第一種:每一個(gè)app下都有有static/templates 可以存放這里
第二種:存放在最外面的static/templates 也可以
我查資料有個(gè)這種方法,
var url = "{#$apiHost#}/aw/export?brand_ids="+brand_ids;
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.withCredentials = true;
xhr.responseType = "blob";
xhr.setRequestHeader("token", "{#$smarty.session.pc_token#}");
xhr.setRequestHeader("os", "1");
xhr.send();
xhr.onload = function() {
if (this.status == 200) {
try{
var elemIF = document.createElement("iframe");
elemIF.src = this.responseURL;
elemIF.style.display = "none";
document.body.appendChild(elemIF);
}catch(e){
}
}
}
但是用這種方法有如下這個(gè)問題,不知如何解決
height 'calc(100% - %s)' % rem(50)
interface IDemo extends RouteComponentProps<{}>{}
class Demo extends React.Component<IDemo,{}>{
componentDidMount(){
if(!localStorage.get('XX)){
this.props.location.history.push('/)
}
}
}
export default withRouter(Demo)
基本都是這么個(gè)流程把
p到底是Promise,還是是函數(shù)?如果p是Promise,會(huì)有不好的影響,否則不會(huì)。
當(dāng)前V8的Promise的實(shí)現(xiàn),會(huì)在滿足以下條件的時(shí)候回收掉所有.then鏈的上下文:
所以以下代碼完全沒有問題,所有東西都會(huì)被正確回收
let collectable = (async () => {
const buf = new Uint8Array(1024 * 1024 * 1024);
for (let i = 0; i < buf.length; i++) buf[i] = i;
await new Promise(() => { });
return buf;
})();
if (typeof gc == 'function') gc();
上面的代碼中,1和2滿足,因?yàn)闆]有變量存著那個(gè)空Promise,所以3也滿足,所以async內(nèi)的所有上下文都被釋放,collectable只剩下了空殼Monad,薛定諤的貓?jiān)缗艿袅恕?/p>
而這段代碼會(huì)造成內(nèi)存泄漏
let deadPromise = new Promise(() => { });
let uncollectable = (async () => {
const buf = new Uint8Array(1024 * 1024 * 1024);
for (let i = 0; i < buf.length; i++) buf[i] = i;
await deadPromise;
return buf;
})();
if (typeof gc == 'function') gc();
上面的代碼會(huì)造成內(nèi)存泄漏,只有deadPromise = null之后才能回收。
一點(diǎn)后話,我猜題主也是在想,如果我們沒有AbortablePromise,那我們至少能明確標(biāo)示出一個(gè)Promise可以被垃圾回收吧?幸運(yùn)的是,我們可以,但是要用到上面這樣的hack。
不過,現(xiàn)在我們有AbortController了,說明社區(qū)已經(jīng)基本上對(duì)AbortablePromise怎么實(shí)現(xiàn)有了共識(shí):應(yīng)該throw出去。這樣的話,我們就不應(yīng)該用這樣的hack了,而應(yīng)該與fetch它們保持一致。
空白的話看看控制臺(tái)有沒有報(bào)什么錯(cuò)啊
因?yàn)榉诸惖母叨仍?,所以才造成跟隨滾動(dòng),謝謝,已經(jīng)解決了
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(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
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(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)師。