8
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

javascript&jqueryチートシート(今期よく使っている構文などなどまとめ)

Last updated at Posted at 2017-10-10

よく使っている気がするものを雑多にまとめました。

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' ]

WebStorage

容量は1オリジン 5MBまで

// セッションストレージはページを閉じるまで
// データの保存
sessionStorge.setItem("キー","");

// データの取得
sessionStorge.getItem("キー");

// データの削除
sessionStorge.removeItem("キー");

// ローカルストレージは永続的に有効
// データの保存
localStorage.setItem("キー","");

// データの取得
localStorage.getItem("キー");

// データの削除
localStorage.removeItem("キー");

参考1
参考2

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);
nameでチェックされている値取得
$("input[name='hoge']:checked").val() 

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

状態取得
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!!"がタグに追加される

セレクター

セレクトボックス
// 選んだoptionのvalue
$("#hoge option:selected").val();
// 選んだoptionのtext
$("#hoge option:selected").text();
親がみたい!
$(".hoge").parent().css('background', 'red'); // 親の親は $(".hoge").parent().parent() みたいな感じで上の階層を見れる
子要素を文字列で検索して!
$(".hoge").find(".search").css('background', 'red');

each

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

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?