// 小時 for (let i = 0; i < 25; i++) { const tempHour = i === 24 ? "00" : i < 10 ? "0" + i.toString() : i.toString(); const tempValue = tempHour + ":00" + (i < 12 || i > 23 ? " am" : " pm"); const tempObject = { value: i.toString(), text: tempValue }; this.dayRanges.hours.push(tempObject); } // 分鐘 for (let i = 0; i < 60; i++) { const tempMinute = i === 60 ? "00" : i < 10 ? "0" + i.toString() : i.toString(); const tempObject = { value: i.toString(), text: tempMinute }; this.dayRanges.minutes.push(tempObject); }
- May 31 Fri 2019 21:26
[JavaScript] 跑迴圈完成時間選單陣列,小時補am、pm,分鐘補0
- May 20 Mon 2019 23:25
[面試] iSAP Solution 旭人科技股份有限公司
- Apr 15 Mon 2019 23:09
[JavaScript] [Vue] 連動式下拉選單 (不使用套件)
- Apr 04 Thu 2019 16:50
[JavaScript] 正則表達式 IP Port
驗證網址:https://www.regextester.com/22 const ipRegex = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.) {3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/; const portRegex = /^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}| 65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/;
- Mar 27 Wed 2019 22:41
[JavaScript] [vue] 正則表達式 信用卡格式輸入 限制
<form-string :label="_('w_License_License_Key')" v-model="inputLicenseData.licenseKey" :placeholder="_('w_License_License_KeyPlaceholder')" :maxlength="29" ></form-string> // ts寫法 // 限輸入英文、數字,格式:xxxxx-xxxxx-xxxxx-xxxxx-xxxxx @Watch("inputLicenseData.licenseKey") valueChange(value) { this.$nextTick(() => { this.inputLicenseData.licenseKey = value .replace(/\s/g, "") .replace(/[^0-9a-zA-Z]/g, "") .replace(/([0-9a-zA-Z]{5})(?=[0-9a-zA-Z])/g, "$&-"); }); }
- Mar 21 Thu 2019 20:02
[JavaScript] 計算兩個座標點之間的角度
getTwoPointAngle(px1: number, py1: number, px2: number, py2: number) { const x = Math.abs(px1 - px2); const y = Math.abs(py1 - py2); const z = Math.sqrt(x * x + y * y); const angle = Math.round((Math.asin(y / z) / Math.PI) * 180); //最終角度 return angle; }
- Mar 21 Thu 2019 19:58
[JavaScript] 根據經緯度計算與正北方向的夾角,以順時針為方向的角度
- Mar 07 Thu 2019 00:56
[JavaScript] 閉包 作用 / 生命週期
1. 使用函數內部的變數在函數執行完後,仍然存活在記憶體中(延長了區域變數的生命周期) 2. 讓函數外部可以操作(讀 / 寫)到函數內部的數據(變數 / 函數) 問題: 1. 函數執行完後,函數內部聲明的區域變數是否還存在? -- 一般是不存在的,但如果是存在於閉包中的變數才可能存在 2. 在函數外部能直接訪問函數內部的區域變數嗎? -- 不能,但可以通過閉包讓外部操作它
- Mar 06 Wed 2019 23:59
[JavaScript] 閉包 理解 / 常見的閉包
1. 如何產生閉包? -- 當一個嵌套的內部(子)函數引用了嵌套的外部(父)函數的變數(函數)時,就產生了閉包 2. 閉包到底是什麼? -- 使用chrome調試查看 -- 理解一: 閉包是嵌套的內部函數(絕大部分人) -- 理解二: 包含被引用變數(函數)的對像(極少數人) -- 注意: 閉包存在於嵌套的內部函數中 3. 產生閉包的條件? -- 函數嵌套 -- 內部函數引用了外部函數的數據(變數 / 函數) -- 執行外部函數
- Mar 06 Wed 2019 23:20
[面試] 奧丁丁
奧丁丁的面試紀錄
由奧丁丁主動找我面試的
原本看到應徵的是senior,而我一個完全沒有實務經驗的人,我自己覺得不合適就回拒了,而對方說我可以試試看,可以和主管聊聊,我就答應了XDD
一來先考試,40分鐘,題目如下(原考題是英文的),時間到了,但我沒寫完~~
1.給一個隨機排序的陣列 ([77, 54, 3, 10, 987, 105, 50]) , 請sort此陣列
2. 給一個字串"”Hello World",請reverse此字串
3.請描述打開網頁後會發生什麼事(主要是問client端和server端的請求回應過程、渲染方式)
4.什麼是Promise
5.如果你是一個領導者,要怎樣和PM、前端、後端、UIUX合作
- Mar 04 Mon 2019 22:10
[JavaScript] 變數提升 / 函數提升
1. 變數聲明提升 / 變數提升 -- 通過var定義(聲明)的變數,在定義語句之前就可以訪問到 -- 值:undefined 2. 函數聲明提升 / 函數提升 -- 通過function聲明的函數,在之前就可以直接調用 -- 值:函數定義(對象)
- Mar 04 Mon 2019 01:31
[JavaScript] 原型鏈
1. 原型鏈 -- 訪問一個物件的屬性時, ---- 先在自身屬性中查找,找到返回 ---- 如果沒有,再沿著__proto__這條鏈向上查找,找到返回 ---- 如果最終沒找到,返回undefined -- 別名: 隱式原型鏈 -- 作用: 查找物件的屬性(方法) 2. Function = new Function():實例對象才有隱式原型(屬性)__proto__, 而實例對象的隱式原型(屬性)__proto__ 等於 構造函數的顯式原型(屬性)prototype 3. 所有函數的隱式原型(屬性)__proto__都是一樣的
- Mar 03 Sun 2019 23:31
[JavaScript] 顯式原型 prototype 與 隱式原型 __proto__
1. 每個函數function都有一個prototype,即顯式原型(屬性) 2. 每個實例對像都有一個__proto__,可稱為隱式原型(屬性) 3. 對像的隱式原型的值為其對應構造函數的顯式原型的值 4. 總結: -- 函數的prototype屬性:在定義函數時自動添加的,默認值是一個空Object實例對象 -- 物件的__proto__屬性:創建對像時自動添加的,默認值為構造函數的prototype屬性值 -- 程序員能直接操作顯式原型,但不能直接操作隱式原型(ES6之前)
- Mar 03 Sun 2019 22:21
[JavaScript] prototype 原型
1. 函數的prototype屬性 -- 每個函數都有一個prototype屬性, 它默認指向一個Object空物件(即稱為: 原型物件) -- 原型對像中有一個屬性constructor, 它指向函數物件 2. 給原型對像添加屬性(一般都是方法) -- 作用: 函數的所有實例對像自動擁有原型中的屬性(方法) -- 原型上面的方法是給實例對象使用的
- Mar 03 Sun 2019 17:58
[JavaScript] 函數的this是什麼
1. 函數的this是什麼? -- 任何函數本質上都是通過某個物件來調用的,如果沒有指定就是window -- 所有函數內部都有一個變量this -- this的值是調用函數的當前物件