前端開發常見問題精選(五)

weixin_34162695發表於2018-03-19
5616361-d9ff13a832624855.jpg

一、IntelliJ IDEA編輯器如何開啟電腦終端?

當我們執行node環境或者使用webpack時,首先需要開啟電腦終端,這時通常我們會直接使用Win+R然後輸入cmd開啟,但這樣往往不是很方便。而目前大多數IDE都整合了該功能,這大大提升了開發效率。

我們先來了解一下Console與Terminal的區別:

Console是控制檯,可以用於列印程式碼執行結果
Terminal是電腦終端,可以用它來執行node環境

那麼我們在IntelliJ IDEA中該如何開啟Terminal呢?

第一步,選擇外掛:File->Settings->Plugins->Terminal,在Terminal右側勾選上後點選ok即可;
第二步,重啟IntelliJ IDEA;
第三步,開啟Terminal:View->Tool Windows->Terminal,或者直接按下快捷鍵Alt+F12

二、如何將其他時區的時間轉換為北京時間?

JS沒有提供直接進行時區轉換的方法,但是我們可以先將源時區轉換為一箇中間量,再將這個中間量轉換為目標時區,而這個中間量就是世界標準時間(UTC)

JS提供了一系列用於轉換為UTC的原生方法:

getUTCFullYear()
getUTCMonth()
getUTCDate()
getUTCHours()
getUTCMinutes()
getUTCSeconds()

它們的用法與Date物件獲取時間的常用方法相同,例如要實現將其他時區時間轉換為北京時間可以這樣做:

var date = new Date();   // 獲取本地時間
var y =  date.getUTCFullYear();    // 年
var m = date.getUTCMonth();    // 月
var d = date.getUTCDate();    // 日
var h= date.getUTCHours()+8;    // 時(北京時間)
var M = date.getUTCMinutes();    // 分
var s = date.getUTCSeconds();    // 秒
console.log(new Date(y,m,d,h,M,s));    // 列印北京時間

我們知道,每個時區與UTC的差別只是在小時上,而且都是固定不變的,北京時間是UTC+8,所以只需將本地時間的小時轉換為UTC的小時之後再加8,而其他時間引數均保持UTC不變。

那麼在國內要如何進行測試呢?

很簡單,只需將裝置時間改為其他時區時間就可以,執行程式碼後會發現列印出來的時間就是當前的北京時間。

三、iScroll.js在某些安卓手機webview中滑動很卡如何解決?

iScroll.js是一種常用的JS滾動外掛,通常用於移動裝置中區域性區域的滾動,但是在實際工作中發現,某些安卓手機webview中使用iScroll.js滑動會很卡,只需在頁面<head>標籤中加上下面這段JS程式碼即可。

<script>window.PointerEvent = undefined</script>

具體原因未知,有大神瞭解望告知。

四、多行字串連線除了使用“+”號來連線,還有其他更加簡潔的書寫方式嗎?

我們常常會使用字串拼接,尤其是在使用jQuery開發專案時,往往需要將後端介面獲取到的資料通過字串拼接的方式新增到頁面中,或者我們在定義Vue元件時也需要使用字串模板,而這些情況下為了讓HTML結構看起來更加整齊通常會將字串進行斷行書寫,但是如果直接斷行的話會出現語法錯誤,所以這時我們會通過使用“+”號來進行連線,例如:

var str = '<div>' +
            '<p>想要學習更多前端知識,</p>' +
            '<p>歡迎關注微信公眾號:前端微站。</p>' +
        '</div>';

但是,通過這種方式有個很明顯的缺點就是太麻煩,尤其是在斷行比較多的情況。

那麼有沒有既可以實現斷行,書寫又簡單的方法呢?

答案當然是有的,我們可以直接在斷行末尾加上“\”即可。例如:

var str = '<div>\
            <p>想要學習更多前端知識,</p>\
            <p>歡迎關注微信公眾號:前端微站。</p>\
        </div>';

怎麼樣?是不是看起來簡單又方便?

以上是我在工作當中所遇到的一些問題總結,在此與大家共勉!

相關文章