zishu's blog

zishu's blog

一个热爱生活的博主。https://zishu.me

js関数やメソッドに関するいくつかの補足まとめ

データ型、コンストラクタ、プロトタイプとプロトタイプチェーンに関する補足説明

一、データ型#

1.5 つの基本型#

string
number
boolean
undefined 未定義
null 値が空
symbol シンボルを表し、シンボル型は唯一であり変更不可能

最も一般的なのは最初の 3 つ、文字列、数値、ブール値です。

2. 一般的な参照型#

参照型はデータと機能を一緒に整理するためのデータ構造です。

オブジェクト-Object, 配列-Array, 関数-Function, 正規表現-RegExp, 日付-Date など。

二、関数#

1. 関数とは?#

  1. 独立した機能を持つコードブロックで、js では function キーワードを使用して関数を定義します。
  2. コードの構造をより明確にし、コードの可用性を向上させます。
  3. js 関数の分類:ユーザー定義関数とシステム関数。

2. ユーザー定義関数#

名前のない関数である匿名関数があり、クロージャを作成し、グローバル変数の汚染を避けます。

匿名即時実行関数

  1. 概念:匿名関数の定義が完了した後に即座に実行され、関数式を実行します。
  2. 目的:クロージャを実現し、独立した名前空間を作成します。
  3. 使用:グループ演算子 ()、void 演算子、~ 演算子、! 演算子など。
  4. 使用シーン:関数式、オブジェクトプロパティ、イベント、イベントパラメータ、戻り値。
  5. 匿名関数を定義した後は、必ず呼び出す必要があります。
// 関数式
window.onload = function() {
    let funcobj = function() {
        alert("関数式の匿名関数")
    }
    funcobj();
}
// オブジェクトプロパティ
window.onload = function() {
    let obj = {
        name: function() {
            alert('オブジェクトプロパティの匿名関数')
        }
    }
    obj.name();
}

3. 組み込み関数#

グローバルの下に置かれると関数と呼ばれ、オブジェクトの中に置かれるとメソッドと呼ばれます。

  1. 通常の関数
alert() // アラートボックス
confirm()   // 確認ボックスを表示
prompt()    // 入力ボックスを表示
isNaN()     // 数字かどうかを判断
parseInt()  // 文字列または浮動小数点数を整数に変換
parseFloat()    // 文字列を整数または浮動小数点数に変換
eval()      // 式の結果を計算
  1. 配列関数

forループを使用して配列を繰り返し処理します。

var arr = [1,2,3,4];
for(var i = 0; i<arr.length; i++) {
    console.log(arr[i])
}

// 出力 1,2,3,4

for inを使用して配列を繰り返し処理します。

var arr = [1,2,3,4];
for (var i in arr) {
    console.log(arr[i]);
}

// 出力 1,2,3,4
// 追加
unshift()   // 配列の先頭に要素を追加し、返り値は配列の長さ
push()      // 配列の末尾に要素を追加し、返り値は配列の長さ
conat()     // 2つの配列を結合し、返り値は結合後の配列
    var arr1 = [1];
    var arr2 = [2];
    let arr = arr1.concat(arr2);
    console.log(arr); // [1,2]

/*****************************************/
// 削除
pop()       // 配列の最後の要素を削除し、返り値は削除された要素
shift()     // 配列の最初の要素を削除し、返り値は削除された要素
splice(a,b) // 指定位置aの後のb個の要素を削除し、返り値は削除された要素
slice(a,b)  // a位置からb位置までの要素を削除

/*****************************************/
// 検索
indexOf()   // 配列が指定された要素を含むかどうかを判断し、存在すれば要素を返し、存在しなければ-1を返す
includes()  // 配列が指定された要素を含むかどうかを判断し、存在すればtrue、存在しなければfalseを返す

/*****************************************/
// その他
sort()      // 配列を規則に従ってソート
    var arr1 = [4,5,6];
    var arr2 = [1,2,3];

    var arrAscSort = arr5.sort((a, b) => a-b); // 昇順ソート
    console.log(arrAscSort); // [ 1, 1, 2, 3, 5, 6 ]
    
    var arrDescSort = arr5.sort((a, b) => b-a); // 降順ソート
    console.log(arrDescSort); // [ 6, 5, 3, 2, 1, 1 ]

reerse()    // 配列を反転
    var arr = [1,2,3,4,5,6];
    // reverse()メソッドを直接呼び出す
    console.log(arr.reverse())  // [6,5,4,3,2,1]

Array.from()    // 一連のデータを配列形式に変換
    var str = '一連のデータを配列形式に変換'
    console.log(Array.from(str))
    // ["一", "連", "の", "デ", "ー", "タ", "を", "配", "列", "形", "式", "に", "変", "換"]

Array.isArray() // 変数が配列かどうかを判断
    var str = '一連のデータを配列形式に変換'
    console.log(Array.isArray(str))
    // false
  1. 日付関数 Date ()

時間を取得

var time = new Date()
// 現在の時間を取得
// Fri Nov 13 2020 20:21:35 GMT+0800 (中国標準時間)

getFullYear()   // 現在の年を取得
getMonth()      // 現在の月を取得  -1
getDate()       // 今日の日付を取得
getHours()      // 現在の時間を取得
getMinutes()    // 現在の分を取得
getSeconds()    // 現在の秒を取得
getMilliseconds()   // 現在のミリ秒を取得
getTime()       // タイムスタンプ-1970年から現在までのミリ秒数を取得

時間を設定

setYear()       // 年を設定
setMonth()      // 月を設定
setDate()       // 日付を設定
setHours()      // 時間を設定
setMinutes()    // 分を設定
setSeconds()    // 秒を設定
  1. 数学関数 Math

主に使用される数学関数メソッド

Math.abs()  // 絶対値
Math.ceil() // 切り上げ
Math.floor()// 切り捨て
Math.round()// 四捨五入
Math.random()   // 0-1の間のランダム数を生成

random () の応用-指定桁のランダム数を生成

function getRandomNumber(min, max){
    return Math.floor(Math.random()*(max - min)) + min;
}
console.log(getRandomNumber(1000, 9999));
  1. 文字列関数
indexOf()   // 文字列を検索し、インデックス値を返す
    var arr = ["字", "符", "串", "函", "数"]
    console.log(arr.indexOf("串"))  // 2

split()     // 文字列を指定の区切り文字で分割する
    var str = "文字列関数"
    console.log(str.split(''))      // ["字", "符", "串", "函", "数"]

trim()      // 文字列の両端の空白を削除
    var str = "   文字列関数   "
    console.log(str)        // [   文字列関数   ]
    console.log(str.trim()) // [文字列関数]

match()     // 指定したルールで値を検索
    var str = "文字列関数文字列関数"
    console.log(str.match(/文字列/))    // 文字列
    document.write(str.match(/文字列/)) // 文字列

search()    // 文字列の最初の出現位置を返す
    var str = "文字列関数文字列関数"
    console.log(str.search('串'))   // 2

replace()   // 指定した文字列を置き換える
    var str = "文字列関数文字列関数"
    console.log(str.replace('字','函'))
    // 函符串関数文字列関数

substring(a,b) // 指定位置から文字列を切り取る、左閉右開
    // インデックスaからbまでを切り取る
    var str = "文字列関数文字列関数"
    console.log(str.substring(0,3)) // 文字列

substr(a,b)    // 指定位置から指定個の文字を切り取る
    // インデックスaから始めてb個の文字を切り取る
    var str = "文字列関数文字列関数"
    console.log(str.substr(0,3))    // 文字列
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。