OKR
ES6
Javascript
直接從程式碼就可以看出差異,var可以重複宣告,但let比較嚴謹會提醒不能重複宣告。
var a = 1;
console.log(a);
var a = 2;
console.log(a);
result:
1
2
---
let b=1;
console.log(b);
let b=2;
console.log(b);
result:
1
Identifier 'b' has already been declared //提示說已經被宣告了
被{}包起來區塊範圍裡面,來看看var與let的差異:
{
var a = "我是a";
let b = "我是b";
console.log('a列印結果:',a);
console.log('b列印結果:',b);
}
result
a列印結果: 我是a
b列印結果: 我是b
若是今天將console.log移到外面的話,會發生什麼事情?
{
var a = "我是a";
let b = "我是b";
}
console.log('a列印結果:',a);
console.log('b列印結果:',b);
result
a列印結果: 我是a
ReferenceError: b is not defined //結果b會被顯示沒有被宣告,代表let撰寫比較嚴謹
依據上述比較let與var之間的差異,可宣告變數/得到相同結果,但最大的差別是在於let所宣告的變項只有在{}代碼區塊(block scope)內有效。
在之前ES5在放入Html內容,必須要一行一行加入,在ES6的模版字符串(template literal)是使用反引號``放入html內容。
在之前,若行數很多的話容易不小心打錯內容,除了很麻煩,也不易閱讀
let addHtml_es5 = '<header>' +
'<div class="banner">' +
'</div>'
+ '</header>'
現在ES6使用反引號快速解決這樣的狀況,列印結果,更方便的是他會幫你保留所有換行和空行,顯示結果跟你的輸入排版差不多。
let addHtml_es6 = `
<header>
<div class="banner">
</div>
</header>
`
//print result
<header>
<div class="banner">
</div>
</header>
若是有嵌入宣告變數的寫法
使用方式為${…}
let youtubeSrc = 'https://www.youtube.com/embed/lJIrF4YjHfQ?autoplay=1';
$('.embed-responsive').append(`<iframe class="youtube_frame" style="width:100%;height:100%;" src="${youtubeSrc}" frameborder="0" scrolling="no" allowfullscreen></iframe>`);
//print result
<iframe class="youtube_frame" style="width:100%;height:100%;" src="https://www.youtube.com/embed/lJIrF4YjHfQ?autoplay=1" frameborder="0" scrolling="no" allowfullscreen>
</iframe>
Constants
,中文叫常數,有點像使用let宣告的變數。const MY_FAV = 7;
class MyClass{
constructor(){
}
}
ES6的新寫法,使用三個點(…),主要是連接陣列使用,範例如下:
const params = [ "hello", true, 7 ]
const other = [ 1, 2, ...params ]
這樣就會將params裡的陣列複製到other裡面
[ 1, 2, "hello", true, 7 ]
若複製陣列,再傳值進去也不會受到影響
const arr = [1,2,3]
const arr2 = [...arr]
arr2.push(4)
//push()向數組的末尾加一個或多個元素
//所以列印結果為[1,2,3,4]
把某個陣列展開,然後傳入函式作為傳入參數值
function sum(a, b, c) {
return a + b + c
}
const args = [1, 2, 3]
sum(…args)
//列印結果為1+2+3=6
2020/05/24(Update:2020/06/23) 網站資源 SCSS官方網站 SCSS官方網站-中文 Sass/Scss運作 早期Sass底層是以Ruby語言來撰寫,因此要使用Sass需要有Ruby環境,但官方已經於2019/03/26表示不再維護Ruby Sass!現階段比較主流的是DartSass及 LibSass,DartSass可讓Sass被編譯到JavaScript庫中,而LibSass最常見的就是因應Node.js而推出的Node-sass,目前我們正在使用的則是LibSass。 Scss與Sass差異 CSS寫法
Sep 10, 20202020/07/11(Update) 7/11學習內容 學習來源: BEM官方文件 youtube資源學習 什麼是BEM? 以Block結構來命名Html Class Name。 全名叫Block/Element/Modifier。
Jul 12, 20202020/05/22(Update:2020/06/23) 練習目的 不使用bootstrap框架,練習各種網頁上可能常見的各種版型/元件/區塊等,並使用CodePen提供範例參考 Demo1-圖文滿版區塊/雙背景CSS效果(圖片+背景顏色) https://codepen.io/yuci0213/pen/KKdbKOm Demo2-Select選單SCSS+JS效果 https://codepen.io/yuci0213/pen/xxZqodL
Jun 25, 20202020/05/19(Update:2020/06/13) 參考資源網站 jQuery官網-jQuery API Documentation easing函數速查表 w3school jQuery animate() 分享說明 針對jQuery官網上的API文件,將專案上可能較常使用的基本函式挑選出來學習,理解函式如何使用,若有寫的不清楚的地方歡迎提供補充。 一、Attributes(Dom屬性)
Jun 13, 2020or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up