在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ HTML問答
女流氓 回答

可以顯示, 建議檢查下你的svg格式,應(yīng)該是文件問題,可能沒加聲明, Chrome直接打開你的svg文件, 看看有沒有報錯, 你提供的HTML截沒有用, 因為問題和HTML無關(guān)
圖片描述

圖片描述

圖片描述

萢萢糖 回答

其實樓上兩個人的回答都是對的,只不過側(cè)重點(diǎn)不一樣,
實際上,既然你知道用npm run build 生成了文件,那你應(yīng)該也看到了生成的都是js css 以及html文件,也就是說,不管服務(wù)器是什么系統(tǒng),只要你的服務(wù)器上有支持http或者h(yuǎn)ttps的服務(wù)器軟件就可以,我知道的有nginx和apache兩種,只要安裝了兩個中的一個,并且配合好訪問路徑,把你生成的文件放到服務(wù)器下或者映射路徑下,啟動你的服務(wù)器軟件即可,然后就可以使用你配置的路徑訪問項目,所以你需要搞明白兩件事:
1、怎么安裝nginx或者apache,百度搜索一下這種文章非常多;
2、怎么配置nginx或者apache,百度一下文章也非常多;

搞清楚這兩個項目也就部署好了

為什么我不在這說怎么安裝怎么配置,這不是一兩句話說明白的事,我描述不清楚;

局外人 回答

你可以引入一個promise的庫

陌離殤 回答

我覺得你想問的應(yīng)該是JS為什么要進(jìn)行變量提升,而不是按照順序解析和綁定變量這么一個問題吧?

好,下面就談?wù)勎覍@個問題的看法。

首先,我們都知道,JS拿到一段代碼或一個函數(shù)的時候,會有兩步主要操作,即解析與執(zhí)行。

在解析階段,JS會檢查語法,并對函數(shù)進(jìn)行預(yù)編譯。

所以當(dāng)函數(shù)的代碼有語法錯誤的時候,在函數(shù)執(zhí)行前就會報錯(SyntaxError)。

接下來是執(zhí)行階段,這個階段沒什么好講的,就是逐條解釋每條語句并執(zhí)行。

弄明白JS函數(shù)的兩個階段之后,下面我們就來談?wù)劼暶魈嵘膯栴}。聲明提升就是函數(shù)中任何位置所聲明的變量或函數(shù),都會自動“提”到函數(shù)的最前面,就好像它們是在函數(shù)的開頭聲明的一樣。

為什么要提升變量和函數(shù)的聲明?表面上看,是因為作用域。確實,在ES6之前,JS并沒有塊級作用域,所有變量要么具有全局作用域,要么具有函數(shù)級作用域。

但是進(jìn)一步思考就會發(fā)現(xiàn),這只是聲明提升的結(jié)果,而不能成為必須要這么做的理由。后來加入的let變量就是一個例子。

那么究竟為什么要進(jìn)行聲明提升呢?其實我認(rèn)為主要原因有兩點(diǎn):

  • 聲明提升可以提高性能

前面說過,JS會在函數(shù)執(zhí)行前對其進(jìn)行語法檢查和預(yù)編譯,并且這一操作只會進(jìn)行一次。之所以要這么做,一個目的在于提高性能。因為如果沒有這一步,那么每次執(zhí)行函數(shù)前都必須重新解析一遍該函數(shù),而這是沒有必要的,因為函數(shù)的代碼并不會改變,解析一遍就夠了。

另外,解析的過程中,還會為函數(shù)生成預(yù)編譯代碼。在預(yù)編譯時,會統(tǒng)計該函數(shù)聲明了哪些變量、創(chuàng)建了哪些函數(shù)(注:這里就是聲明提升),并對函數(shù)的代碼進(jìn)行壓縮,去除注釋、不必要的空白等。這樣做的好處是每次執(zhí)行函數(shù)時都可以直接為該函數(shù)分配??臻g(不需要再解析一遍去獲取函數(shù)中聲明了哪些變量,注:這也是聲明提升的好處),并且代碼執(zhí)行更快(因為壓縮而變短了)。兩個好處都會提高執(zhí)行函數(shù)的性能。

  • 容錯性更好

我們知道,JS是一種腳本語言,在發(fā)布之后很長時間內(nèi)都沒有為程序員提供編譯器、調(diào)試器、語法檢查器等工具。在很長一段時間內(nèi)其地位始終是Web頁面的附屬品,僅僅用來給頁面添加一些非必要的動態(tài)效果,并且其開發(fā)和部署也具有很強(qiáng)的隨意性,未經(jīng)過調(diào)試和測試的代碼比比皆是。直到后來Ajax的出現(xiàn),這一情況才逐步改變。

在這種情況下,提高JS的容錯就是很有好處的了。而聲明提升可以在一定程度上提高JS的容錯性??聪旅娴睦樱?/p>

function foo() {
    console.log(a);
    var a;
}

如果沒有聲明提升,這段代碼就是錯的,但有了聲明提升,這段代碼便可以正常運(yùn)行。

但是你可能會說,正常代碼不應(yīng)該這么寫,就像其他語言,變量肯定要先聲明再使用啊,因此這一點(diǎn)只要稍加注意就能避免,不是嗎?

確實如此,但稍加注意也要投入注意力不是?尤其是在修改別人的代碼的時候,這種在聲明前就使用的情況就更容易發(fā)生了。

如果上面的例子無法說服你,下面再看一個更有代表性的例子:

function foo() {
    if (...) {
        var a;
    }
    console.log(a);
}

這種情況更常見了,在寫if語句的時候,我發(fā)現(xiàn)我需要一個變量a,于是順手寫了var a = ...;,但是到后面我又發(fā)現(xiàn)這個變量在if語句外面也會用到,于是我忘記了回頭去把a(bǔ)的聲明提到if外面。當(dāng)if的條件不滿足的時候,里面的代碼根本不會執(zhí)行,如果沒有聲明提升,那么這時候a將不會存在。

而要在代碼層面完全避免這種情況顯然需要投入更多的注意力才行了。當(dāng)然,你可能會說,這個好像不是聲明提升,變量a本來就是在使用前定義的啊。

這么說沒有錯,但是你不能不承認(rèn)JS的變量沒有塊作用域這一事實與聲明提升有很大關(guān)系。比如,如果把var a換成let a。

總結(jié):

  1. 解析和預(yù)編譯過程中的聲明提升可以提高性能,讓函數(shù)可以在執(zhí)行時預(yù)先為變量分配??臻g
  2. 聲明提升還可以提高JS代碼的容錯性,使一些不規(guī)范的代碼也可以正常執(zhí)行
情殺 回答

已經(jīng)搞定了已經(jīng)搞定了已經(jīng)搞定了

淡墨 回答

canvas、語義化、webSocket、多媒體標(biāo)簽、本地存儲,常用的就這些了。
html5的話,還有webRTC、webVTT以及一些新的api,具體可以參考下MDN里面的介紹:
https://developer.mozilla.org...

青黛色 回答

debugger一下,確定data[0].Title是否有值。

愚念 回答

你說的...這個解構(gòu)么?
不知道你要做什么,但是解構(gòu)不是這樣用的.
let a=[1,2,3,4];
let b=[5,6,7,8,...a];//b is [5,6,7,8,1,2,3,4]

厭惡我 回答

300ms后模擬獲取后臺的數(shù)據(jù),一般是沒有和后端聯(lián)調(diào)的時候,自己編的數(shù)據(jù)來看看程序是否按預(yù)期運(yùn)行

筱饞貓 回答

reload 刷新頁面,提示框也會消失,
所以得保證同步執(zhí)行的順序,先出現(xiàn)彈窗,消失后,再reaload();
1, 彈窗里面加確認(rèn)按鈕,點(diǎn)擊跳轉(zhuǎn)
2, setTimeout超時后,reload();

別傷我 回答

.then() 不是那樣用的。
看你的第一段代碼,正確寫法是:

var that = this;
app.userlogin()
  .then(() => {
    that.getClub()
  })
  .then(() => {
    that.changeclub()
  })
  .catch((err)=> {
    console.log(err)
  })

你體會一下區(qū)別…如果不明白的話我再細(xì)講
這不是 Promise 的知識,是函數(shù)傳參的知識

爆扎 回答

打斷點(diǎn)看一下

凝雅 回答

怎么可能沒有……樓主補(bǔ)充個截圖吧,我覺得你是搞錯位置了。

朕略傻 回答
const count = 0;
const store = new Vuex.Store({
  state: {
    count,
    a: count, // a初始值依賴count,但是后續(xù)不依賴
  },
  mutations: {
    increment (state) {
      state.count++
    }
  }
})
賤人曾 回答

npm install 會下載package.json里的依賴項和依賴項所需的模塊

淚染裳 回答

用cnpm 單個指定安裝版本,或者直接修改。