${@:2}
是不是每個月份的三十號都有問題
實(shí)際上對于一個問題的結(jié)果,例如操作一個文件,我們只關(guān)心其結(jié)果,完成或者沒有完成.但是獲取這個結(jié)果需要很多個步驟,每個步驟都是有可能出錯的,而且出錯也有相應(yīng)的修復(fù)邏輯
/**
* 判斷一個文件是否存在
* 存在 不存在
* 打開 創(chuàng)建
* 讀取 打不開 打開 創(chuàng)建不了
* 報錯 報錯 (假設(shè)到這一層就不執(zhí)行操作了)
*/
完成上面的邏輯,單純用Promise來寫,將會變得十分繁瑣,保證Promise最后一個then或者catch是我們要的結(jié)果下,
任何比正常邏輯多出的分支必須在一個then或者catch里寫完才可以保證最后的結(jié)果只有一個,例如上面部分邏輯的偽代碼
hasfile.then(()=>{
//返回不同效果的Promise,并且包含flag
let Pro=new Promise(/*對應(yīng)后續(xù)打開文件的代碼*/);
return {
hasfile:true,
pro:pro
}
}).catch(()=>{
let Pro=new Promise(/*對應(yīng)后續(xù)創(chuàng)建文件的代碼*/);
return {
hasfile:false,
pro:pro
}
}).then((result)=>{
//這個時候執(zhí)行的Promise是不一樣的
if(result.flag){
//如果還想繼續(xù)鏈?zhǔn)秸{(diào)用
//只能繼續(xù)包裝一個Promise對象并返回
//如果直接把result.pro的Promise執(zhí)行,那么鏈?zhǔn)秸{(diào)用就到此結(jié)束
return new Promise((resolve,reject)=>{
//這里執(zhí)行的是打開的代碼,但是代碼本體卻是在上一個
//then里寫的
result.then((file)=>{
resolve(file);
}).catch((err)=>{
reject(err)
})
})
}else{
}
})
結(jié)果就是,Promise不適合干帶有過多邏輯分支或者循環(huán)的異步,不然要Generator和async干嘛
Kill之后應(yīng)該又重啟了。
關(guān)閉Redis的正確姿勢
/etc/init.d/redis-server stop
# or
service redis-server stop
如果是MAC
redis-cli shutdown三樓正解,一樓也正解!
/^.*?(?=;)/
babel只是按照你配置的環(huán)境進(jìn)行轉(zhuǎn)碼了啊,所謂的轉(zhuǎn)碼其實(shí)也就是把一些瀏覽器不支持的新語法,轉(zhuǎn)換成老語法.
你的問題是問你要如何做到兼容所有版本瀏覽器嗎? 還是不知道babel如何按照瀏覽器轉(zhuǎn)碼?
兼容所有瀏覽器只需要兼容低版本就可以了,因?yàn)閖s大部分特性是可以做到向下兼容的.也就是新瀏覽器仍然支持老語法.
babel按照你輸入的瀏覽器版本和其他條件,去查詢對應(yīng)的js支持版本,然后找到所有條件下支持的最高級別Js版本,轉(zhuǎn)碼到該版本.轉(zhuǎn)碼過程跟瀏覽器沒有任何關(guān)系,只是在node環(huán)境中進(jìn)行.
中序遍歷和后序遍歷里面你調(diào)用的是先序遍歷函數(shù), 當(dāng)然會錯...
另外, 用markdown把代碼貼貼好.
線上環(huán)境里面不會熱更新吧.所以更新數(shù)據(jù)放在created里面就好,如果你要熱更新,可以把獲取數(shù)據(jù)放在mounted里面.不過線上可能會有閃屏.
add3寫法有問題,如果你要想返回一個其他的函數(shù)或者計算后的值,請這樣
add3: ((a,b) => {
b = this.ad(b)
return a+b;
})(1,2)修改webpack.base.config.js 中build項(xiàng)的assetsPublicPath為絕對路徑,就可以了。
assetsPublicPath: '/'
我也遇到這個問題。
Function.prototype 本身也是個函數(shù)對象,這是為了兼容 ES5。也估計是讓人引起誤解的源頭。但兩者還是不同的,這是個特殊的函數(shù)對象,它忽略參數(shù)總是返回 undefined,且沒有 [[Construct]] 內(nèi)部方法。
請用.gitignore忽略掉node_modules目錄,這樣就不會再你的這個github軟件中出現(xiàn)了
super() 就是找爹
super().__init__(...) 就是說:"爹,先執(zhí)行一下你的__init__方法,等你干完了我再來做我的事。"
用途就是,你繼承一個父類了,原先父類的初始化方法里有很多東西,你又不打算自己重新寫一遍,那就叫父類先執(zhí)行原來的邏輯,再執(zhí)行后邊的。
把width改成min-width
這里由babel負(fù)責(zé)實(shí)現(xiàn),需要在.babelrc中添加babel-plugin-syntax-dynamic-import
https://babeljs.io/docs/plugi...
=== 更新 ===
之前的回答是錯的,webpack2及以上原生支持dynamic-import,不需要額外的babel插件
相關(guān)issue : https://github.com/webpack/we...feature PR : https://github.com/webpack/we...
1、題主第一個問題:想這樣:
在某個條件分支下創(chuàng)建一個函數(shù),并且只在這個分支內(nèi)使用。
所以寫出下面代碼:
if (true) {
// 在某個條件分支下創(chuàng)建一個函數(shù),并且只在這個分支內(nèi)使用。
function a() {
// code...
}
a();
}
但是,題主如果在 if 語句塊之外訪問函數(shù) a,是可以的,因?yàn)?/p>
ES6 在非嚴(yán)格模式下塊級函數(shù)的作用域會被提升到所在函數(shù)或全局環(huán)境的頂部,而不是代碼塊的頂部。
所以下面代碼不會報錯:
if (true) {
// 在某個條件分支下創(chuàng)建一個函數(shù),并且只在這個分支內(nèi)使用。
function a() {
// code...
}
a();
}
a;//返回函數(shù) a
所以,題主想要的
在某個條件分支下創(chuàng)建一個函數(shù),并且只在這個分支內(nèi)使用
在非嚴(yán)格模式下,并沒有實(shí)現(xiàn),或者說,看起來實(shí)現(xiàn)了,但實(shí)際上沒有,反而造成了全局變量污染且容易引起歧義;
在嚴(yán)格模式下,是實(shí)現(xiàn)了的,也就是說,上面的函數(shù) a 只能在 if 語句塊內(nèi)訪問,因?yàn)?/p>
ES6 會將 a() 函數(shù)視為塊級聲明,并允許它在定義所在的代碼塊內(nèi)部被訪問,且塊級函數(shù)會被提升到所在代碼塊的頂部
2、題主的第二個問題:
是不是在ES6之前,這樣聲明是語法錯誤?
答:
在 ES3 或更早版本中,在代碼塊中聲明函數(shù)(即塊級函數(shù))嚴(yán)格來說應(yīng)當(dāng)是一個語法錯誤,但所有的瀏覽器卻都支持該語法??上У氖?,每個支持該語法的瀏覽器都有輕微的行為差異,所以最佳實(shí)踐就是不要在代碼塊中聲明函數(shù)(更好的選擇是使用函數(shù)表達(dá)式)。為了控制這種不兼容行為, ES5 的嚴(yán)格模式為代碼塊內(nèi)部的函數(shù)聲明引入了一個錯誤
3、題主的第三個問題:
另外,我會把這個函數(shù)保持在它被調(diào)用之前,這樣就不會發(fā)生變量提升了。
題主請先去了解下函數(shù)聲明語句的變量提升,題主的這句話代表題主并不理解變量提升;
4、題主的第四個問題:
其實(shí)我很郁悶,因?yàn)槲业拇a要根據(jù)不同場景執(zhí)行不同的代碼,有些函數(shù)只在某一個場景下使用。按照這個標(biāo)準(zhǔn)的話要把大量函數(shù)移出來,結(jié)果就是聲明的這些函數(shù)有很多根本沒有被調(diào)用。這樣是不是會多占用資源?
這個不太清楚,我粗淺的認(rèn)為不會,因?yàn)?js 有垃圾回收機(jī)制,如果沒有閉包,正常情況下都會被垃圾回收掉的,閉包題主請單獨(dú)查資料,或者戳這
你的 UserService 不在 com.marx.config 包下面吧?
你的配置只掃描 com.marx.config 這一個包。。
UserService 沒在這個包下面沒有掃描到所以沒有創(chuà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)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級產(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)理從事移動互聯(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ù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(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)師。