avatar
文章
94
標籤
19
分類
6
首頁
文章總覽
關於我
Vic's blog
搜尋
首頁
文章總覽
關於我

Vic's blog

JS之路 Day10 - What is Date ?
發表於2022-09-25|JavaScript
一種用來處理特定的日期時間會用到的特殊物件,可以用來印出時間,修改時間或是設定時間。 要注意的一點是,JavaScript當中,使用Date就會一次把日期跟跟時間創造出來,不能只單獨創造出今天日期。 最簡單的使用方式就是直接new Date()就能直接創造出當前的時間。 12const time = new Date();console.log(time); // 印出當前時間 隨時放入參數的不同可以印出各種不同狀態的時間。new Date()是一種,另外還有三種創建時可以創建時的方式: 123const time = new Date(milliseconds); //第二種const time = new Date(dateString); //第三種const time = new Date(year, month, day, hours, minutes, seconds, milliseconds); //第四種 獲取時間中某個值有一些Date內建的方法,可以幫助獲取時間的某個值,可以分成以下幾種。 現在時間是 2022 年 9 月 25 日(星期日),使用此時此刻...
JS之路 Day09 - What is Map ?
發表於2022-09-24|JavaScript
前言昨天把set講完,今天換Map,首先要注意不要跟array的方法Array.prototype.map()搞混,這是不一樣的東西,那就 let’s go 今天的主題。 Map跟object一樣都是key-value pairs,不同的是Map的key可以是任意類型。 map 的基本方法跟屬性 new Map() => 創造 map。 set() => 為 map 裡面設定 key 跟 value。 get() => 取出 map 裡面的 key 跟 value。 delete() => 刪除 map 裡面的 key。 has() => map 裡存在指定的 key。 clear() => 刪除 map 裡面所有東西。 size => 會回傳 map 裡面元素的數量。 有些其實跟set來使用看看吧: 12345678910111213141516171819202122232425262728293031323334const map = new Map();con...
JS之路 Day08 - What is Set ?
發表於2022-09-23|JavaScript
前言這兩天會來講Set/Map,這是ES6後才新增的兩種資料結構,主要是用來處理一些array跟object沒辦法完全顧及的領域,也因如此,其實許多地方跟array跟object非常相似,那今天就從set開始吧! set是集合的意思,在JavaScript裡是唯一值的集合,意思就是說,set裡面的每一個值都只能出現一次。 什麼是集合?set 的中文翻譯是集合的意思,在 JavaScript 裡這個語法是唯一值的集合,而數學上的集合定義,去爬了維基百科,得到以下結論: 指具有某種特定性質的事物的母體,集合裡的事物稱作元素。 下圖就是一個有一些多邊形的集合。關於集合我的理解是可以把它當作一堆類型差不多的東西,而在JavaScript就是一堆值,而在array確實就只有一大堆值,跟Set的差別就在於,JS 的Set值是獨一無二的。 出處: https://zh.wikipedia.org/zh-tw/%E9%9B%86%E5%90%88_%28%E6%95%B0%E5%AD%A6%29set常用方法與屬性 new Set() => 創建一個set add() &#...
JS之路 Day07 - 語法糖Class(下)
發表於2022-09-22|JavaScript
前言今天會來繼續介紹語法糖Class的語法部分,會介紹到的分別為: 「extends」、「super」 keywords static properties and methods extends and super首先昨天已經知道了,class可以依靠constructor跟prototype的原理來去實作出像是其他程式語言的繼承效果,但是class以及class之間的繼承還是一個問題,為了這件事情,JavaScript有提供在class中可以使用extends跟super來解決這件事情。 原本單純使用class來寫會是長這樣: 1class Parent 使用extends關鍵字的語法是: 1class Child extends Parent 這邊使用 MDN 上面的範例修改過後來做講解: 1234567891011121314151617181920212223class Animal { constructor(name) { this.speed = 0; this.name = name; } speak() ...
JS之路 Day06 - 語法糖Class(上)
發表於2022-09-21|JavaScript
前言在介紹完prototype之後,該是來理解JavaScript的class,之前有提到說,JavaScript的繼承依靠的是Prototypal inheritance,但並不是所有的程式語言都是如此,我覺得要理解class的話要從這裡下手,那就開始吧。 其他程式語言的繼承之前有提到過繼承,其實道理差不多,一個物件可以將自己的屬性跟方法給其他人使用,換句話說,一個物件可以去取用別人物件的屬性跟方法。 在JavaScript中,這種可以被取用屬性跟方法的物件是原型物件,透過原型鏈來找到跟綁定,但是在其他語言中,像是java或是c++就會直接把這個可以被取用屬性跟方法的物件視為class,一個類別的概念。 關於類別的比喻,有一個我覺得很不錯,出處是在:JavaScript 概念三明治。 class其實就是像建築物的設計圖一樣,而建築物就可以透過裡面所描述的概念來寫現做出來。 class(類別) => 設計圖。object(物件) => 建築物。 然後有了 class(類別)就可以創造出許多的instance(實例),透過用new的方式,非常合理,但...
JS之路 Day05 - Constructor Function(構造函式)
發表於2022-09-20|JavaScript
前言Constructor Function也是Function,那它跟一般的Function差在哪裡,有什麼特別之處,就是今天主要介紹的部分。 構造函式剛剛有提到其實跟Function差不多,所以正常來說為了要區分這兩者的差別,構造函式在命名上都會以大寫字母來寫,而構造函式的誕生,是要經過一個叫做new這個關鍵字來創立。 意味著,使用new來生成的函式就是構造函式。沒有使用new來生成,可以直接呼叫執行的,就是普通函式。 那什麼是new? new關鍵字new這個關鍵字其實是new operator,在 mdn 的解釋是: The new operator lets developers create an instance of a user-defined object type or of one of the built-in object types that has a constructor function. 我自己翻起來是:new可以創建一個定義物件類型,或者是具有構造函式的內置物件類型,它們的實例。 我的理解是new只可以拿來創造構造函式,沒有用new來創...
JS之路 Day04 - Prototypal Inheritance(原型繼承)
發表於2022-09-19|JavaScript
Array Methods繁多,許多人常常使用時會在去 MDN 看文檔,但如果你仔細看會發現奇怪地方,比如說你想要去查map的語法,你實際會看到Array.prototype.map()。 更奇怪的地方是,有些會有.prototype,有些沒有,當初我初學時百思不得其解。 其實這就跟今天主題的Prototypal inheritance有關,讓我們從一開始提到的map的Array Methods開始看起,寫一個簡單的例子: 12345const arr = [1, 2, 3, 4, 5];const arr2 = arr.map((n) => n + 1);console.log(arr2); 會發現說,我明明沒有寫這個方法,但是我可以用,why?arr 裡面明明就只有 12345。這就是原型繼承的奧妙之處。 arr = [1, 2, 3, 4, 5]其實可以看成是arr = new Array([1, 2, 3, 4, 5]) 其中Array就是內建的一個 Constructor Function,它自身的prototype會指向一個帶有 map(方法)跟其他一堆的...
JS之路 Day03 - Prototype Chain(原型鏈)
發表於2022-09-18|JavaScript
昨天Prototype世界的例子中,小白這種打電話讓別人再去打電話找的方式,其實就是一種Prototype Chain的概念。 畫一張示意圖會比較清楚一些,用一個空的陣列來做舉例。 首先,陣列也是一種物件,空陣列代表裡面什麼都沒有,不過不代表不能從空陣列去獲取東西。 當我要從物件裡面找一個不存在的屬性,JavaScript 就會直接從它的原型物件去找,要是它的原型物件沒有,就會再往上找它的原型物件,直到最上面,都沒有那就是找不到。 而這個最上面的原型物件就稱作叫Object.prototype。真的就最上面了,再往上找就是null。 而這一個由下往最上尋找的過程,一層一層相依尋找,就是原型鏈。 Object.create這個可以拿來創造出一個擁有原型物件的新空物件,裡面的參數就帶要被繼承的原型物件,比如說: 12345const food = { eat: true,};const apple = Object.create(food); 這個新被創造出來的物件其實原型物件就會自動綁定是 food 了,所以現在的 apple 也可以去看 eat 的這個屬...
JS之路 Day02 - Prototype (原型)
發表於2022-09-17|JavaScript
前言我相信每個語法的發明都有它意義存在,以我看來Prototype的存在,是為了要讓JavaScript 也能實現物件導向,準確點來說,可以用來做到物件的繼承,透過Prototype的方式。 Prototype 的產生是為了 JavaScript 的繼承而所謂物件的繼承,就是可以從其他地方拿到本身沒有的方法或是屬性,藉由去繼承有方法跟屬性的物件,來獲得使用那些方法跟屬性的權利。 在JavaScript中,每個object都會去連結到Prototype object => 每個object都可以看得到裡面有Prototype(null是例外~)。 這個Prototype是[[prototype]]也是原型物件。 舉例來說,創造一個空物件,會看見[[Prototype]]: 但是用Object.create使用null當原型的這個新物件是會看到no properties,很乾淨的那種。 Prototype object 包含了 properties(屬性) 跟 methods(方法)簡單解釋一下什麼是properties跟methods。首先要先知道物件會有key-v...
問題_mac 顯示隱藏檔
發表於2022-09-17|Others
解答來源: https://gist.github.com/j796160836/262083cdbad0d45eefcd 顯示隱藏檔案:defaults write com.apple.finder AppleShowAllFiles TRUE;\killall Finder 不顯示隱藏檔案:defaults write com.apple.finder AppleShowAllFiles FALSE;\killall Finder
1…78910
avatar
Vic Cai
Frontend Developer + Player
文章
94
標籤
19
分類
6
Follow Me
公告
主要紀錄學習及日常的部落格
最新文章
短篇小說 -《忘夢茶涼》八、他去河;她入儀2025-09-17
短篇小說 -《忘夢茶涼》七、臨門2025-09-16
短篇小說 -《忘夢茶涼》六、生別2025-09-15
短篇小說 -《忘夢茶涼》五、割席2025-09-14
短篇小說 -《忘夢茶涼》四、焚誓2025-09-13
分類
  • AI2
  • Algorithm7
  • Back-end1
  • Front-end19
  • JavaScript41
  • Others23
標籤
mcp webpack 學習 grid vite volta html 拳擊 sass blog 電腦科學 node question mac 小說 rag 初學紀錄 IT 鐵人賽 雲服務
歸檔
  • 九月 2025 10
  • 八月 2025 12
  • 十二月 2023 1
  • 十月 2023 1
  • 八月 2023 1
  • 七月 2023 3
  • 六月 2023 4
  • 五月 2023 5
網站資訊
文章數量 :
94
訪客數 :
總瀏覽量 :
最後更新時間 :
© 2025 By Vic Cai框架 Hexo 6.3.0|主題 Butterfly 5.4.3
搜尋
資料載入中