需要社工、前端相關資料的人,可以到右邊找找。

目前分類:JavaScript (23)

瀏覽方式: 標題列表 簡短摘要
          interface IEnteredExitedSubtotal {
          Hour: number;
          Today: number;
          Total: number;
          TotalInTimeSection: number;
         }

         interface IInsideSubtotal {
          Total: number;
         }

         interface CameraData {
          Channel: number;
          EnteredSubtotal: IEnteredExitedSubtotal;
          ExitedSubtotal: IEnteredExitedSubtotal;
          InsideSubtotal: IInsideSubtotal;
          RuleName: string;
          UTC: number;
         }


         let data = `summary.Channel=123
summary.EnteredSubtotal.Hour=22
summary.EnteredSubtotal.Today=60
summary.EnteredSubtotal.Total=1769
summary.EnteredSubtotal.TotalInTimeSection=60
summary.ExitedSubtotal.Hour=19
summary.ExitedSubtotal.Today=52
summary.ExitedSubtotal.Total=1705
summary.ExitedSubtotal.TotalInTimeSection=52
summary.InsideSubtotal.Total=324
summary.RuleName=NumberStat
summary.UTC=1565870249`;
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

    // 注意:回傳值都為string格式,如果要日期格式,
        請使用 new Date(this.getDateCount);

    // 格式化日期
    formatDate(dateArg: any): string {
        const date = new Date(dateArg);
        const year = date.getFullYear();
        const month = date.getMonth() + 1;
        const day = date.getDate();
        const formatMonth = month < 10 ? `0${month}` : month;
        const formatDay = day < 10 ? `0${day}` : day;

        return `${year}-${formatMonth}-${formatDay}`
// set Date to 00:00:00
DateToZero(value: Date): Date {
    let date = new Date(value.getTime());
    date.setHours(0, 0, 0, 0);
    return date;
}
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

// 小時
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);
}
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

連動式下選單,分三部份

1. templeate

2. 資料結構

3. function

不使用套件

文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

驗證網址: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])$/;
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

<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, "$&-");
    });
}
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

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;
}
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

根據經緯度計算與正北方向的夾角,以順時針為方向的角度

參考:https://software.intel.com/en-us/blogs/2012/11/30/calculating-a-bearing-between-points-in-location-aware-apps

以下的公式,可以在下列網址驗證

https://www.igismap.com/map-tool/bearing-angle

https://www.sunearthtools.com/tools/distance.php#contents

文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

1. 使用函數內部的變數在函數執行完後,仍然存活在記憶體中(延長了區域變數的生命周期)
2. 讓函數外部可以操作(讀 / 寫)到函數內部的數據(變數 / 函數)

問題:
  1. 函數執行完後,函數內部聲明的區域變數是否還存在?
-- 一般是不存在的,但如果是存在於閉包中的變數才可能存在
  2. 在函數外部能直接訪問函數內部的區域變數嗎?
-- 不能,但可以通過閉包讓外部操作它
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

1. 如何產生閉包?
-- 當一個嵌套的內部(子)函數引用了嵌套的外部(父)函數的變數(函數)時,就產生了閉包
2. 閉包到底是什麼?
-- 使用chrome調試查看
-- 理解一: 閉包是嵌套的內部函數(絕大部分人)
-- 理解二: 包含被引用變數(函數)的對像(極少數人)
-- 注意: 閉包存在於嵌套的內部函數中
3. 產生閉包的條件?
--  函數嵌套
--  內部函數引用了外部函數的數據(變數 / 函數)
--  執行外部函數
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

1. 變數聲明提升 / 變數提升
-- 通過var定義(聲明)的變數,在定義語句之前就可以訪問到
-- 值:undefined
2. 函數聲明提升 / 函數提升
-- 通過function聲明的函數,在之前就可以直接調用
-- 值:函數定義(對象)
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

1. 原型鏈
-- 訪問一個物件的屬性時,
---- 先在自身屬性中查找,找到返回
---- 如果沒有,再沿著__proto__這條鏈向上查找,找到返回
---- 如果最終沒找到,返回undefined
--  別名: 隱式原型鏈
--  作用: 查找物件的屬性(方法)
2. Function = new Function():實例對象才有隱式原型(屬性)__proto__   而實例對象的隱式原型(屬性)__proto__ 等於 構造函數的顯式原型(屬性)prototype
3. 所有函數的隱式原型(屬性)__proto__都是一樣的
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

1. 每個函數function都有一個prototype,即顯式原型(屬性)
2. 每個實例對像都有一個__proto__,可稱為隱式原型(屬性)
3. 對像的隱式原型的值為其對應構造函數的顯式原型的值
4. 總結:
-- 函數的prototype屬性:在定義函數時自動添加的,默認值是一個空Object實例對象
-- 物件的__proto__屬性:創建對像時自動添加的,默認值為構造函數的prototype屬性值
-- 程序員能直接操作顯式原型,但不能直接操作隱式原型(ES6之前)

 

文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

1. 函數的prototype屬性
-- 每個函數都有一個prototype屬性, 它默認指向一個Object空物件(即稱為: 原型物件)
-- 原型對像中有一個屬性constructor, 它指向函數物件
2. 給原型對像添加屬性(一般都是方法)
-- 作用: 函數的所有實例對像自動擁有原型中的屬性(方法)
-- 原型上面的方法是給實例對象使用的

 

文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

1. 函數的this是什麼?
-- 任何函數本質上都是通過某個物件來調用的,如果沒有指定就是window
-- 所有函數內部都有一個變量this
-- this的值是調用函數的當前物件
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

1. 理解
-- 全稱: Immediately-Invoked Function Expression 匿名函數自調用
2. 作用
-- 隱藏實現
-- 不會污染全域的命名空間
-- 用來編寫js模塊

 

文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

1. 什麼函數才是回調函數?
1)我定義的
2)我沒有調
3)最終它執行了(在某個時刻或某個條件下)

2. 常見的回調函數?
-- DOM事件回調函數 ==> this:發生事件的DOM元素(用戶操作的元素)
-- 定時器回調函數 ==> thiswindow
-- ajax請求回調函數
-- 生命週期回調函數
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

1. 什麼是函數?
-- 具有特定實現功能的n條語句封裝體
-- 只有函數是可以執行的,其他類型的數據不能執行

2. 為什麼要用函數?
-- 提高code的重複使用率
-- 便於閱讀交流

3. 如何定義函數?
-- 函數聲明
-- 表達式
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

1. 什麼是物件?
-- 多個數據的封裝體
-- 用來保存多個數據的容器
-- 一個物件代表現實中的一個事物

2. 為什麼要用物件?
-- 統一管理多個數據

3. 物件的組成?
-- 屬性:屬性名(字串)+ 屬性值(任意類型)組成
-- 方法:一種特別的屬性,屬性值是函數
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

問題: var a = xxx, a記憶體中到底保存的是什麼?
-- xxx是基本數據,保存的就是這個數據
-- XXX是物件,保存的物件的地址值
-- XXX是一個變數,保存的是xxx的記憶體內容,可能是基本數據,也可能是地址值
文章標籤

bingzhichen 發表在 痞客邦 留言(0) 人氣()

1 2