PIXNET Logo登入

菜鳥救星RookieSavior

跳到主文

擁抱菜鳥精神!敢想敢做,無所畏懼!

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 12月 16 週五 202210:00
  • JavaScript的型別在TypeScript中認識物件型別


JavaScript的型別在TypeScript中認識物件型別








文、意如老師


















 

















參考目錄:

第1篇、TypeScript初探篇

第2篇、JavaScript的型別在TypeScript中應用(一)-認識原始資料型別

第3篇、JavaScript的型別在TypeScript中應用(二)-認識物件型別

第4篇、TypeScript物件導向-類別(Class)的使用方式

第5篇、TypeScript物件導向-介面(Interface)的使用方式


















JavaScript的型別有兩種,分成原始資料型別(Primitive data types)與物件型別(Object types),原始資料型別介紹請參閱上一篇,本篇即將介紹物件型別與其它常見的型別。

















 
















任務一:認識物件型別(Object types)

1-1:認識物件

1-2:修改物件型別中的值

1-3:物件可當參數傳遞

任務二:認識鴨子類型(Duck Typing)

任務三:其它常見的資料類型

3-1:認識Map

3-2:認識Set

3-3:認識Tuple元組


















 
















任務一:認識物件型別(Object types)

















1-1:認識物件

物件是由鍵(key)與值(value)組成。值可以是字串、數值、函數、陣列、物件等。


















var myobject = {

  key1: “mydata”, // 字串

  key2: 123, //整數

  key3: function() {// 函數

    console.log(“ABC“);

    return “BCD“

  },

  key4:[“arr1”, “arr2”] //陣列

}

//物件

console.log(myobject)


/*{

 key1: ‘mydata’,

 key2: 123,

 key3: [Function: key3],

 key4: [ ‘arr1’, ‘arr2’ ]

} */


//物件中的值

console.log(myobject.key1) //mydata

//物件中的函數

console.log(myobject.key3())//ABC BCD//


















 

















 

















1-2:修改物件型別中的值

注意修改的資料值要與物件中的型別一樣


















//物件

var myinfo = {

  city: “台北“,

  memberid: 123,

  mydata: function () { }

};

//修改物件值

myinfo.city = “高雄“; //資料要與物件中的型別一致

myinfo.memberid = 999;

//修改屬性值

myinfo.mydata = function () {

  console.log(“Hello:” + myinfo.city); //hello 高雄

  console.log(“Memeber:”+myinfo.memberid);//Member:999

};

//呼叫物件中的函數

myinfo.mydata();

































 

















1-3:物件可當參數傳遞

物件也可以當作一個參數傳遞給函數Function


















//物件也可以當作一個參數傳遞給函數Function

var fruit = {

  fruit1: “Apple“,

  fruit2: “Kiwi“,

};

var buy = function (obj: { fruit1: string, fruit2: string }) {

  console.log(“水果1 : ” + obj.fruit1);//水果1 :Apple

  console.log(“水果2 : ” + obj.fruit2);//水果2 :Kiwi

}

buy(fruit);

































 
















任務二:認識鴨子類型(DuckTyping)

















鴨子類型是動態類型的一種,也是多態(polymorphism)的一種。


















//鴨子類型DcukTyping

interface ISize {

  width: number

  height: number

}

//(代入參數型別):return型別

function addPoints(box1: ISize, box2: ISize): ISize {

  var w = box1.width + box2.width

  var h = box1.height + box2.height

  return { width: w, height: h }

}

//呼叫型別並把參數代入

var newPoint = addPoints(

  { width: 10, height: 35 },

  { width: 25, height: 41 }

)

console.log(newPoint); //{ width: 35, height: 76 }

export { }; //使用 ES Module

































 
















任務三:其它常見的資料類型

















3-1:認識Map

Map是ES6中新引入的一種新的類型,使用鍵(Key)值(Value)儲存資料

任何值都可以作為鍵(Key)或一個值(Value)。




使用 Map類型時需要使用new 來建立Map資料


















//MAP 類型

var myMap = new Map([

  [“key1”, “value1”],

  [“key2”, “value2”]

]);


console.log(myMap);//Map(2) { ‘key1’ => ‘value1’, ‘key2’ => ‘value2’ }

































 

















因Map 是 ES6 中新引入的一種新的類型,編譯時需要使用es6來編譯

指令:tsc – -target es6 t4.ts

執行:node t4.js




Map常用函數及屬性


















//Map常用函數及屬性

var mycitymapping = new Map();

//設定 Map鍵(key)值(value)

mycitymapping.set(“台北“, 1);

mycitymapping.set(“新竹“, 2);

mycitymapping.set(“高雄“, 3);

console.log(mycitymapping);//Map(3) { ‘台北’ => 1, ‘新竹’ => 2, ‘高雄’ => 3 }

//抓取對應的value

console.log(mycitymapping.get(“高雄“));// 3

//判斷是否有該鍵(key)

console.log(mycitymapping.has(“新竹“));// true

console.log(mycitymapping.has(“宜蘭“));// false

//Map大小

console.log(mycitymapping.size);// 3

//删除高雄

console.log(mycitymapping.delete(“高雄“));// true

console.log(mycitymapping);//Map(2) { ‘台北’ => 1, ‘新竹’ => 2}

//移除 Map

mycitymapping.clear();

console.log(mycitymapping);//{}


















 

















3-2:認識Set

Set 陣列值是唯一不重複


















//set

var mySet = new Set ( [ 1 , 2 , 2 , 4 , 4 ] ) ;

console.log(mySet);//Set(3) { 1, 2, 4 }

































 

















3-3:認識Tuple元組

陣列中資料通常來說類型是一樣的,如果需要存取的類型不同,就需要使用Tuple元組,也可以做為參數傳給函數。


















//元組資料可以儲存不同類型

var mytuple = [“John“,32];

console.log(mytuple)//[ ‘John’, 32 ]

console.log(mytuple[0])//John

console.log(mytuple[1])//32

console.log(“長度:”+mytuple.length)//2

mytuple.push(“ABC“)//新增一個元素

console.log(mytuple)//[ ‘John’, 32, ‘ABC’ ]

console.log(mytuple.pop()+” 刪除了“)//刪除最後元素

console.log(mytuple)//[ ‘John’, 32 ]

mytuple[0] = “Mary“//更新元素

console.log(mytuple)//[ ‘Mary’, 32 ]










(繼續閱讀...)
文章標籤

菜鳥救星 發表在 痞客邦 留言(0) 人氣(1)

  • 個人分類:學程式也能那麼輕鬆
▲top
  • 12月 14 週三 202210:00
  • 網友激推!美味夜市小吃烤魷魚畫作


網友激推!美味夜市小吃烤魷魚畫作








文、耀月老師


















 

















各位同學大家好~

想必各位在夜市最常看到的小吃攤就是”烤魷魚”了吧?

今天就教各為如何繪製一隻看起來香噴噴、又美味的烤魷魚!!


















使用筆刷:錐形康特筆、輕柔噴槍、數位噴槍、混色筆-只加水、混色筆-紋路水化、帶有紋路的筆刷、噴槍-粉狀噴濺等…

















 
















1. 首先,我們先拿出錐形康特筆來繪製魷魚的草圖,就找一隻你可能曾經吃過又拍下來的烤魷魚繪製即可XD


















 

















 

















2. 接著使用數位噴槍+輕柔噴槍來繪製背景的花花綠綠,這邊隨意畫出一些光斑、墊個底色在下方即可。

































 

















3. 使用數位噴槍來繪製烤魷魚的底色,這邊我使用帶紅色的咖啡色繪製,因為烤魷魚有一點點偏暗紅色。

































 

















4. 使用慣用的筆刷(看是用噴槍、或其他筆刷都可以)搭配混色筆-紋路水化來繪製烤魷魚白白的部分。

































 

















5. 將烤魷魚白白的部分依照上述方法大略的繪製一遍即可,後面都能再做修正。

































 

















6. 將烤魷魚中間烤紅的部分補上暗紅色,畫的時候要注意是白白的部分的內裡唷!因為考魷魚烤熟後會蜷縮起來,所以畫上暗紅色讓魷魚看起來凹進去的感覺。

































 

















7. 將烤魷魚的周圍畫出黑黑的燒焦的感覺,讓魷魚看起來更真實更香。

































 

















8. 將焦黑的部分分布在魷魚白白的地方,讓白色的部分烤熟後擁有焦香的感覺,並且將魷魚串在上方的魷魚腳上的吸盤用白色點綴出來。

































 

















9. 用白色點綴出魷魚的油亮感,並且沒有規律性的畫上增香的芝麻。

































 

















10. 芝麻的部分可以使用”數位噴槍”、或”細節噴槍”來做繪製與點綴,畫的時候沒有什麼規律性,可以讓芝麻灑多一點感覺更香一點^^

































 

















11. 撒上一堆芝麻以後,可以用”粉狀噴濺”筆刷,讓整體看起來更美味更好吃,並做出一些魷魚身上的質感。

































 

















12. 最後將整體顏色調整偏黃色,看起來就更有夜市的味道,並且在後面繪製出一些攤販的感覺,夜市烤魷魚就完成囉!看起來是不是超好吃呢^^?

























(繼續閱讀...)
文章標籤

菜鳥救星 發表在 痞客邦 留言(0) 人氣(1)

  • 個人分類:學會設計好簡單
▲top
  • 12月 12 週一 202210:00
  • 【WordPress教學】網站SEO如何做好?Yoast外掛介紹


【WordPress教學】網站SEO如何做好?Yoast外掛介紹








文、kk


















 

















哈囉!我是kk,一個『從事數位行銷十多年,也熱愛幫你透過網路,創造財富』的分享家。


搜尋引擎優化(Search Engine Optimization, 以下簡稱SEO)為相對省金錢成本的導流方法。使用SEO外掛將加速操作。進入WordPress後台,點選「外掛」>「安裝外掛」,搜尋「Yoast SEO」。

















 
















 

















 

















再開啟任一文章,於下方列找到Yoast SEO。可預覽透過手機版和桌機版在Google搜尋引擎上的結果,以利調整版面配置。在SEO標題、Meta描述處用顏色呈現是否符合優化標準,綠色表示符合。

































 

















另外在SEO分析欄位內,則透過燈號顏色顯示優化程度,綠色為最佳。舉例:圖內顯示內部連結、外部連結為紅字,表示文內可加入其他導入站內外連結來提升優化。但建議外部連結視情況增加,因為好不容易建議的流量,希望還是留在網站上,通常外部連結會是社群媒體等,即使在站外,但仍是和網站有關的內容。其他有關文字長度、關鍵詞長度參閱即可,因為針對文字長度的優化是以拼音系統為主,針對中文不是那麼適合。

































 

















針對網站上瀏覽較高的網頁,或是覺得相對重要的網頁,可設定為「基石內容」。網站內容越多,越多不同主題,每個主題都可以有基石內容。通常這些網頁可從網站架構和內容看出以下特點:

▶ 比較和特定主題有關,彙整豐富的資訊。

▶ 較不是單純銷售商品和服務。

▶ 在網站上佔據顯著位置。

▶ 類似主題的其他文章都有透過內部連結到基石內容的網頁。

▶ 相關的內部連結數量較多。

































 

















當文章被設定為基石內容,「SEO分析」和「可讀性分析」會更加嚴格,確保提供高品質的內容給Google搜尋引擎爬蟲抓取。包括但不限於內文字數需要增加、主標和小標,以及內文要提到重點關鍵字,讓邏輯環環相扣。


關於「可讀性分析」將協助判斷段落和句子長度,站在使用者的角度來辨識,綠色燈號表示沒有問題。

























(繼續閱讀...)
文章標籤

菜鳥救星 發表在 痞客邦 留言(0) 人氣(1)

  • 個人分類:新手架站好簡單
▲top
  • 12月 09 週五 202210:00
  • 【Excel教學】實作抽籤機


【Excel教學】實作抽籤機








文、意如老師


















 

















如何從清單中隨機抽出一筆或多筆資料,亂數抽樣產生中獎名單,本篇將實作抽籤程式,隨機抽英文單字當練習題。


















任務一:認識INDEX( )函數

任務二:認識RANDBETWEEN( )函數

任務三:認識ROWS( )函數

任務四:實作應用-抽籤程式-隨機抽英文單字當練習題

4-1. 準備清單資料

4-2. INDEX( )、RANDBETWEEN( )與ROWS( )組合應用

4-3.隨機取出多筆資料

















 















任務一:認識INDEX( )函數

















INDEX( )函數會傳回表格或範圍內的某個值或值的參照。

公式:INDEX ( array , row_num, [column_num])


參數說明:array為必要參數需代入要參照的範圍。

row_num 取陣列中的列,以從該列傳回值。

(如果省略row_num,column_num為必填)。

column_num 取陣列中的欄,以從其中傳回值。

(如果省略column_num,row_num為必填)。




應用範例:

準備資料


















 

















抓出筆電價格公式為=index(A1:B5,2,2)

在A1:B5 範圍內,抓取第二列、第二欄的值,結果為37600


抓出手機價格公式為=index(A1:B5,4,2)

在A1:B5 範圍內,抓取第四列、第二欄的值,結果為13000


















 
















任務二:認識RANDBETWEEN( )函數

















RANDBETWEEN( )函數會傳回介於<最小值>與<最大值>兩個數字之間的亂數,最小值跟最大值都只能是整數。


公式:RANDBETWEEN ( bottom, top)


參數說明:bottom必要參數,為回傳亂數的最小值,資料只能是整數。

top 必要參數,為回傳亂數的最大值,資料只能是整數。


應用範例:

資料50-300之間隨意抽取一個數字

公式為:=RANDBETWEEN(50,300)

可以按下 F9 鍵,讓 Excel 重新計算表格中的公式(每一次都可以隨意抽取一個數字)。


















 
















任務三:認識ROWS( )函數

















用於傳回參照或陣列中的列數。


公式:=ROWS (array)


參數說明:array必要參數為要取得列數的範圍。


應用範例:

































取得品名A2到A7共有幾列(幾筆資料)?

=rows(A2:A7)

此結果回傳共 ”6”(列)筆資料


取得價格B1到B5共有幾列(幾筆資料)?

=rows(B2:B5)

此結果回傳共 ”4”(列)筆資料


















 
















任務四:實作應用-抽籤程式-隨機抽英文單字當練習題

















4-1. 準備資料(英文單字的清單)














































機密confidential
污染contamination
化學chemical
缺陷defect
影響impact
改善improve
檢驗inspection
禁止inhibition
批貨lot
光學lithography


















 

















將此資料輸入到儲存格中(如下圖)

































 

















4-2. INDEX( )、RANDBETWEEN( )與 ROWS( )組合應用

如果需要從名單中隨機抽一題出來練習,可以使用剛剛所介紹的三個函數INDEX( )、RANDBETWEEN( )與 ROWS( )將其組合起來取得一筆隨機的題目。


公式如下:=INDEX(名單範圍,RANDBETWEEN(1,ROWS(名單範圍)))


公式解析步驟一:

先使用ROWS( ) 取得總清單的數量共幾筆資料,當作隨機數的最大值

=ROWS(A1:A10)


目前結果回傳為”10”

































 

















步驟二:接著使用RANDBETWEEN()函數,產生一個介於 1 到名單數量之間的隨機整數。


輸入公式:=RANDBETWEEN(1,ROWS(A1:A10))


回傳亂數介於1-10 之間,目前結果回傳亂數為“3”,按下F9可以取得新的亂數值。

































 

















最後一個步驟:

使用INDEX()函數取出對應位置的資料

最後再把範圍套進去即可

=Index(範圍,列的位置)


完整公式:=INDEX(A1:A10,RANDBETWEEN(1,ROWS(A1:A10)))

































 

















隨機抽取題目已完成囉,如果要重新抽題可以按下按下 F9 鍵,讓Excel重新計算表格中的公式即可。




4-3. 隨機取出多筆資料

若要從清單中取出多筆資料,只要將D2的公式往下複製即可產生多筆隨機資料,但要記得下拉前先將範圍資料加上$字號鎖定儲存格範圍。

公式:=INDEX($A$1:$A$10,RANDBETWEEN(1,ROWS($A$1:$A$10)))

































 

















最後按下F9來更新隨機樣本資料。

























(繼續閱讀...)
文章標籤

菜鳥救星 發表在 痞客邦 留言(0) 人氣(17)

  • 個人分類:職場文書技巧
▲top
  • 12月 07 週三 202210:00
  • 【Photoshop教學】用神經濾鏡組合2張照片並協調色調


【Photoshop教學】用神經濾鏡組合2張照片並協調色調
(繼續閱讀...)
文章標籤

菜鳥救星 發表在 痞客邦 留言(0) 人氣(8)

  • 個人分類:學會設計好簡單
▲top
  • 12月 05 週一 202210:00
  • 好想成為VTuber!Live 2D角色前置作業


好想成為VTuber!Live 2D角色前置作業
(繼續閱讀...)
文章標籤

菜鳥救星 發表在 痞客邦 留言(0) 人氣(11)

  • 個人分類:學會設計好簡單
▲top
  • 12月 02 週五 202210:00
  • 《必勝球探》教會我們的6大必勝心法


《必勝球探》教會我們的6大必勝心法
(繼續閱讀...)
文章標籤

菜鳥救星 發表在 痞客邦 留言(0) 人氣(4)

  • 個人分類:職場生存法則
▲top
  • 11月 30 週三 202210:00
  • 是誰住在深海的大珊瑚裡?章魚哥


是誰住在深海的大珊瑚裡?章魚哥








文、Alam老師


















 

















大家好!我是Alam,這一回跟大家分享的繪圖過程是有著輕鬆休閒的3D卡通海底世界,主角是隻窩在海草、海葵及珊瑚間的章魚哥,這張圖的重點在於立體光影的表現以及如何創造出色彩繽紛的海底世界。


這是一張刻意表現海床上面的各種生態物種的繪製研究,然後再搭配輕鬆休閒聽音樂的章魚,這樣的畫面就很有趣味性了。光影效果的海底風景畫,看起來好像有點不知從何下手?其實只要事先將下手步驟分解好,要完成這張圖一點都不麻煩!

















 
















本次所使用筆刷:

a. 特效 /漸層平塗筆刷

b. 噴槍/輕柔噴槍

c. 橡皮擦/橡皮擦

d. 特效/發光

e. 畫刀/羽毛筆(間距請調至10%)

f. 照片/模糊

g. 照片/暗化

h. 照片/加入紋路

I. 油畫粉蠟筆/圓頭油畫粉蠟筆(透明度20%,間距10%,色彩濃度90%,色彩混合57%,最小尺寸隨機改變,表現:壓力)

j. 花紋畫筆/遮罩花紋畫筆

k. 特效/膨脹

l. 橡皮擦/柔和漂白

m. 混色筆/只加水

n. 特效/水泡


















 

















1. 首先選幾張水面泛著不規則光影的圖片,然後分三個圖層變形縮放在畫面上方。


















 

















 

















2. 在畫布上灌上一個底部偏暗的水藍底色,然後將上述的參考圖片個別以「重疊」、「強光」等的圖層合成方式來調整出從海面下仰望上去所呈現的水波紋影像,並適度改變各圖層的不透明度,再用橡皮擦輕輕抹去各圖層下緣的邊界區域。

































 

















3. 現在,我們要先畫出海底的生態背景中所散布的海葵造形與礁岩質感,所以在此要介紹兩枝經過修改調整的筆刷:第一枝是「特效/漸層平頭筆刷」,這枝筆刷主要是利用筆壓大小來控制線條的粗細以及色彩混合度的濃淡。上下兩個極光圖層的透明度,呈現出神秘而朦朧的極光效果。

































 

















4. 另外一枝是「花紋畫筆/遮罩花紋畫筆」,但首先要擷取如圖下方自行繪製的圖樣成為連續性管狀花紋,這樣的筆刷質感可以輕鬆呈現出有螢光效果的半透明海葵效果!

































 

















5. 利用上述的兩種筆刷分別畫出崢嶸向上的管狀海葵(頭部加以修飾並注意其透視感),還有右下角讓章魚落腳的礁岩!

































 

















6. 接著加上前景處的海草,這裡有一個小技巧就是先畫出一株外型輪廓,再加以複製變形和翻轉,然後使用「特效/膨脹」筆刷分別修飾其輪廓,這樣就可以省去很多繁複的描繪工夫。

































 

















7. 完成海草的顏色層次及立體感,並重新排列布局海草的位置!

































 

















8. 繼續添加各種珊瑚來豐富海底畫面,在這裡可以選擇「花紋畫筆/遮罩花紋畫筆」,嘗試內建花紋中的「樹幹圍欄」及「纜線」來畫出如樹枝狀的珊瑚結構(也可以如步驟4.中的方法自行設計連續性花紋)。

































 

















9. 增加「重疊圖層」來為珊瑚上色,並擴充其前後層次感,盡可能的讓海底生態更顯得五彩斑斕!

































 

















10. 繼續在礁岩上畫出主角章魚哥的基本輪廓和明暗設定!

































 

















11. 使用「畫刀/羽毛筆」在最後方補上一些朦朧的海草,繼續調整章魚哥的明暗立體質感(這裡可以使用「特效/發光」就能輕鬆處理了),並填充畫面元素間的空隙處!

































 

















12. 在章魚頭上畫出酷酷的墨鏡(注意立體感及反光)、嘴巴和章魚腳上的吸盤!

































 

















13. 接下來,用我最常使用的「照片/加入紋路」為章魚外觀加上斑紋,然後加上有畫龍點睛效果的隨身聽。

































 

















14. 最後,添加上一些水中氣泡和遠方隱約可見的魚群身影,為了畫面的色彩平衡統一,我們可以利用「等化」效果來調整畫面色調與局部明暗,這樣,一個沉醉在海底聽音樂的悠閒章魚哥就完成啦^^。

























(繼續閱讀...)
文章標籤

菜鳥救星 發表在 痞客邦 留言(0) 人氣(2)

  • 個人分類:學會設計好簡單
▲top
  • 11月 28 週一 202210:00
  • 【2022 illustrator新功能】讓你的平面圖突出-3D膨漲功能


【2022 illustrator新功能】讓你的平面圖突出-3D膨漲功能
(繼續閱讀...)
文章標籤

菜鳥救星 發表在 痞客邦 留言(0) 人氣(11)

  • 個人分類:學會設計好簡單
▲top
  • 11月 25 週五 202210:00
  • 選時辰剖腹生產,寶寶的八字準嗎?


選時辰剖腹生產,寶寶的八字準嗎?
(繼續閱讀...)
文章標籤

菜鳥救星 發表在 痞客邦 留言(0) 人氣(2)

  • 個人分類:紫微斗數好好玩
▲top
12...31»

.

活動推廣

最新文章

  • JavaScript的型別在TypeScript中認識物件型別
  • 網友激推!美味夜市小吃烤魷魚畫作
  • 【WordPress教學】網站SEO如何做好?Yoast外掛介紹
  • 【Excel教學】實作抽籤機
  • 【Photoshop教學】用神經濾鏡組合2張照片並協調色調
  • 好想成為VTuber!Live 2D角色前置作業
  • 《必勝球探》教會我們的6大必勝心法
  • 是誰住在深海的大珊瑚裡?章魚哥
  • 【2022 illustrator新功能】讓你的平面圖突出-3D膨漲功能
  • 選時辰剖腹生產,寶寶的八字準嗎?