SlideShare a Scribd company logo
1 of 20
JavaScriptの基本構文で
アート表現ハンズオン
前提条件
• if, for, 変数宣言, 関数宣言
• getElement(s)By …
使う関数
• setTimeout, setInterval,
clearTimeout, clearInterval
覚えること、これだけ
• CANVAS API
• Colors, Styles, and Shadows
• Line Styles, Rectangles, Paths, Transformations
• Text, Image Drawing, Pixel Manipulation
if
if 条件分岐 ()の中が条件を満たした時に、
{ ... } を実行する
if
// console.log … 動作確認用の履歴を出力する
if ( 10 > 5 ) {
console.log(“10は5より大きいです”);
}
for
for( 初期条件; 繰り返し条件; 後処理 ){
// 繰り返し実行したい処理
}
for
// 前提条件 i = 0 、i < 5を満たす限り繰り返す
// 繰り返すたびにiは+1される
// i … integer 慣用的に使われる
for(var i=0; i<5; i++){
console.log("res: " + i);
}
for
// 前提条件、後処理は省力できる
// res … result or response 慣用的に使われる
var i = 0;
for( ;i<5; ){
console.log("res: " + i);
i = i+1;
}
変数宣言
• var (どこからでも参照可、なるべく使わない)
• let (ブロックスコープ、迷ったらこれ)
• const (定数、再代入不可)
関数
function 関数名 (){ 処理 }
関数
function method_name(){
console.log(“関数を実行”)
}
関数(引数あり)
function 関数名 (引数1,引数2, …){ 処理 }
関数(引数あり)
// arg … argument 慣用的に使われる
function method_name(arg1, arg2){
console.log(“結果: ” + arg1 + arg2)
}
オブジェクト
{ } 中括弧, : コロンで構造を表現
{
name: “松田”,
age: 33,
pet: {
name: “tama”,
type: “dog”
}
}
関数オブジェクト
var func = function(name){
console.log(“hello, ” + name);
}
setTimeout()
• 一定時間経過後に一回だけ処理を実行する`関数`
• setTimeout(関数function[, 一定時間の指定, 引数1,
引数2, …)
setInterval()
• 一定間隔で繰り返し処理を実行する`関数`
• setInterval(関数function, 一定時間の指定[, 引数1, 引
数2, …])
関数の引数には色々と渡せる
• オブジェクトを渡してみる
• 関数オブジェクトを渡して実行してみる
getElementById(“identify”)
• document.getElementById(“sampleId”)
• document.getElementsByClassName(“sampleClassName”)
• document.getElementByTagName(“sampleTagName”)

More Related Content

What's hot

Effective Modern C++ 勉強会#3 Item16
Effective Modern C++ 勉強会#3 Item16Effective Modern C++ 勉強会#3 Item16
Effective Modern C++ 勉強会#3 Item16Mitsuru Kariya
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1Susisu
 
Scalaでの例外処理
Scalaでの例外処理Scalaでの例外処理
Scalaでの例外処理Takashi Kawachi
 
Swift 2.0 変更点(だいたい)まとめ
Swift 2.0 変更点(だいたい)まとめSwift 2.0 変更点(だいたい)まとめ
Swift 2.0 変更点(だいたい)まとめKen Toriumi
 
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarrayRyosuke839
 
Php in ruby
Php in rubyPhp in ruby
Php in rubydo_aki
 
xv6から始めるSPIN入門
xv6から始めるSPIN入門xv6から始めるSPIN入門
xv6から始めるSPIN入門Ryousei Takano
 
Effective Modern C++ 読書会 Item 35
Effective Modern C++ 読書会 Item 35Effective Modern C++ 読書会 Item 35
Effective Modern C++ 読書会 Item 35Keisuke Fukuda
 
Visual C++で使えるC++11
Visual C++で使えるC++11Visual C++で使えるC++11
Visual C++で使えるC++11nekko1119
 
これからのJavaScriptー関数型プログラミングとECMAScript6
これからのJavaScriptー関数型プログラミングとECMAScript6これからのJavaScriptー関数型プログラミングとECMAScript6
これからのJavaScriptー関数型プログラミングとECMAScript6TanUkkii
 
Swift 2.0 の Error Handling #yhios
Swift 2.0 の Error Handling #yhiosSwift 2.0 の Error Handling #yhios
Swift 2.0 の Error Handling #yhiosTomohiro Kumagai
 
final int をFINAL しやがれ!
final int をFINAL しやがれ!final int をFINAL しやがれ!
final int をFINAL しやがれ!Keiichi Nagaoka
 
OPcache の最適化器の今
OPcache の最適化器の今OPcache の最適化器の今
OPcache の最適化器の今y-uti
 
Effective Modern C++ 勉強会#3 Item 15
Effective Modern C++ 勉強会#3 Item 15Effective Modern C++ 勉強会#3 Item 15
Effective Modern C++ 勉強会#3 Item 15Mitsuru Kariya
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14Ryo Suzuki
 
ちょっと詳しくJavaScript 第4回【スコープとクロージャ】
ちょっと詳しくJavaScript 第4回【スコープとクロージャ】ちょっと詳しくJavaScript 第4回【スコープとクロージャ】
ちょっと詳しくJavaScript 第4回【スコープとクロージャ】株式会社ランチェスター
 
関数型プログラミング in javascript
関数型プログラミング in javascript関数型プログラミング in javascript
関数型プログラミング in javascriptRyuma Tsukano
 

What's hot (20)

Effective Modern C++ 勉強会#3 Item16
Effective Modern C++ 勉強会#3 Item16Effective Modern C++ 勉強会#3 Item16
Effective Modern C++ 勉強会#3 Item16
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1
 
pecl-AOPの紹介
pecl-AOPの紹介pecl-AOPの紹介
pecl-AOPの紹介
 
Scalaでの例外処理
Scalaでの例外処理Scalaでの例外処理
Scalaでの例外処理
 
Swift 2.0 変更点(だいたい)まとめ
Swift 2.0 変更点(だいたい)まとめSwift 2.0 変更点(だいたい)まとめ
Swift 2.0 変更点(だいたい)まとめ
 
Testman
TestmanTestman
Testman
 
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
 
Php in ruby
Php in rubyPhp in ruby
Php in ruby
 
xv6から始めるSPIN入門
xv6から始めるSPIN入門xv6から始めるSPIN入門
xv6から始めるSPIN入門
 
Effective Modern C++ 読書会 Item 35
Effective Modern C++ 読書会 Item 35Effective Modern C++ 読書会 Item 35
Effective Modern C++ 読書会 Item 35
 
Visual C++で使えるC++11
Visual C++で使えるC++11Visual C++で使えるC++11
Visual C++で使えるC++11
 
これからのJavaScriptー関数型プログラミングとECMAScript6
これからのJavaScriptー関数型プログラミングとECMAScript6これからのJavaScriptー関数型プログラミングとECMAScript6
これからのJavaScriptー関数型プログラミングとECMAScript6
 
Swift 2.0 の Error Handling #yhios
Swift 2.0 の Error Handling #yhiosSwift 2.0 の Error Handling #yhios
Swift 2.0 の Error Handling #yhios
 
final int をFINAL しやがれ!
final int をFINAL しやがれ!final int をFINAL しやがれ!
final int をFINAL しやがれ!
 
OPcache の最適化器の今
OPcache の最適化器の今OPcache の最適化器の今
OPcache の最適化器の今
 
Effective Modern C++ 勉強会#3 Item 15
Effective Modern C++ 勉強会#3 Item 15Effective Modern C++ 勉強会#3 Item 15
Effective Modern C++ 勉強会#3 Item 15
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
 
ちょっと詳しくJavaScript 第4回【スコープとクロージャ】
ちょっと詳しくJavaScript 第4回【スコープとクロージャ】ちょっと詳しくJavaScript 第4回【スコープとクロージャ】
ちょっと詳しくJavaScript 第4回【スコープとクロージャ】
 
関数型プログラミング in javascript
関数型プログラミング in javascript関数型プログラミング in javascript
関数型プログラミング in javascript
 
Python02
Python02Python02
Python02
 

More from Shinsuke Matsuda

More from Shinsuke Matsuda (6)

Javascript basic code
Javascript basic codeJavascript basic code
Javascript basic code
 
Usercodenvy
UsercodenvyUsercodenvy
Usercodenvy
 
How tomakemodernwebservice d2
How tomakemodernwebservice d2How tomakemodernwebservice d2
How tomakemodernwebservice d2
 
Howtomakewebservice days2
Howtomakewebservice days2Howtomakewebservice days2
Howtomakewebservice days2
 
Line system
Line systemLine system
Line system
 
Linebotを作ろう
Linebotを作ろうLinebotを作ろう
Linebotを作ろう
 

Javascript with Generative Art