javascript&jqueryチートシート

javascript & jquery チートシートのような

最近よく使っているものを雑多にまとめました。

javascript

変数 | values

グローバル変数
var hoge = ''; // ES2015から非推奨、さようならvar...
let hoge = ''; // グローバルスコープに書く!
ローカル変数
let hoge = '';

配列 | array

宣言
let hoge = ['apple', 10, 20, true];
console.log(hoge[0]); // apple
末尾に追加
hoge.push('grape'); // [ 'apple', 10, 20, true, 'grape' ]
console.log(hoge);
削除 (番目から, いくつ)
hoge.splice(0, 1);
console.log(hoge); // [ 10, 20, true, 'grape' ]

hoge.splice(2, 1);
console.log(hoge); // [ 10, 20, 'grape' ]

オブジェクト | object

連想配列的な

連想配列のような形としても扱える

let hoge = {'red':'apple', 'yellow':'banana', 'blue':'grape'};
console.log(hoge['red']); // apple
console.log(hoge['blue']); // grape

クラスのような

プロパティと関数を一緒に持ってクラスのようなオブジェクト

let hoge = {
  age: 23,
  name: 'yasuaki',
  showAge: function(){
    console.log(this.age + "才です。");
  },
  showName: function(){
    console.log("名前は" + this.name + "です。");
  }
};

hoge.showAge(); // 23才です。
hoge.showName(); // 名前はyasuakiです。
ちゃんとしたクラス

ES2015から導入されているらしい。

class Hoge {
  constructor(age, name) {
    this.age = age;
    this.name = name;
  }

  showAge() {
    console.log(this.age + "才です。");
  }

  showName() {
    console.log("名前は" + this.name + "です。");
  }
}

const hoge = new Hoge(23, "yasuaki");
hoge.showAge(); // "23才です。"
hoge.showName(); // "名前はyasuakiです。"

const hoge2 = new Hoge(18, "tarou");
hoge2.showAge(); // "18才です。"
hoge2.showName(); // "名前はtarouです。"

オブジェクト配列

let hoge =[
  {age: 20, name:'tarou'},
  {age: 21, name:'hanako'},
  {age: 28, name:'yasuaki'}
];
console.log(hoge[1].name); // hanako
console.log(hoge[2].age); // 28

ループ | for or while

for
for(let i = 0; i < 10; i++) {
  console.log("hello" + i); // hello0 ~ hello9
}
while
let i = 0;
while(i < 10){
  console.log("hello" + i); // hello0 ~ hello9
  i++;
}

制御 | if or switch

三項演算子
let i = 0;
let hoge = i == 0 ? 'true!!!' : 'false!!!';
console.log(hoge); // true!!!
if
let i = 0;
let output = '';
if (i == 1) {
  output = 'aaa';
} else {
  output = 'bbb';
}
console.log(output); // bbb

if (i == 2) {
  output = 'aaa';
} else if (i == 0) {
  output = 'bbb';
} else {
  output = 'ccc';
}
console.log(output); // bbb
switch
let hoge = "bar";
let output = '';
switch(hoge) {
  case "foo":
    output = 'test1';
    break;
  case "bar":
    output = 'test2';
    break;
  case "hoge":
    output = 'test3';
    break;
}
console.log(output); // test2
その他関数

トリムする

let hoge = 'aaa ';
hoge = hoge.trim();
console.log(hoge); // 'aaa'

分割する

  let test = 'foo,bar,zoo';
  test = test.split(',');
  console.log(test); // 配列になる => [ 'foo', 'bar', 'zoo' ]

ES2015について

[ES2015 (ES6)についてのまとめ](https://qiita.com/tuno-tky/items/74ca595a9232bcbcd727,’ES2015 (ES6)についてのまとめ’)

対応状況下記、赤が非対応で緑が対応済らしい。IE10以前の場合はいろいろ問題がありそう。
ECMAScript6 compatibility table

未対応ブラウザについてはbabelを使うこと・・・
Babelで始める!モダンJavaScript開発

jquery

CDN

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>

ajax (3系)

$.ajax({
  type: 'POST',
  url:'hoge.php',
  dataType: "json",
  data: {mode:'insert', jsonobj:JSON.stringify(select_data)} // json形式でデータポスト
}).done(function(data, textStatus, jqXHR){
  console.log("成功");
}).fail(function(jqXHR, textStatus, errorThrown){
  console.log("失敗");
}).always(function(){
  console.log("処理が終わるとここ通る");
});

表示・非表示

$(".hoge").show(); // 表示
$(".hoge").hide(); // 非表示 (display:none にする)

チェックボックスの状態

状態取得
if($(".hoge").prop("checked")){
  console.log("チェックあり");
} else {
  console.log("チェックなし");
}
つける : はずす
$(".hoge").prop("checked", true);
$(".hoge").prop("checked", false);

テキストエリア等の活性・非活性

状態取得
if ($('.hoge').prop('disabled')) {
  console.log("非活性");
} else {
  console.log("活;性");
}
つける : はずす
$(".hoge").prop("disabled", true);
$(".hoge").prop("disabled", false);

スタイル変更

$(".hoge").css("color", "red");

属性追加

$(".hoge").attr("data", "party!people!!"); // data="party!people!!"がタグに追加される

セレクター

親がみたい!
$(".hoge").parent().css('background', 'red'); // 親の親は $(".hoge").parent().parent() みたいな感じで上の階層を見れる
子要素を文字列で検索して!
$(".hoge").find(".search").css('background', 'red');

each

子要素が複数取得できるときにループ

$(".hoge tbody tr").each(function(idx){ // idxは要素番号
  $(this).html();
});

コメントを書いてみる

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です