SlideShare a Scribd company logo
1 of 23
Download to read offline
Web講座 第8回
前回のおさらい+補足
JavaScriptにおける関数など
次回の講座
前回の講座では、JavaScriptの基礎について説明しました。
JavaScriptにもC言語のような
型は存在するがそれらを宣言する際は
Varを使って宣言することができる
(動的型付)
hasOwnPropertyを使用したFor in
関数とは
引数と呼ばれるデータを受け取り
定められた通りの処理を実行し
結果を返す一連の命令群
IT用語辞典-関数から引用
足し算
足し算をする関数
3 5 引数
足し算
引数1=3 引数2=5
結果 = 引数1+引数2
戻り値 = 結果
足し算
足し算をする関数
8 戻り値
2次関数
x2+2x+1を計算する関数
4 引数
2次関数
引数1=4
結果 = (引数1)2+2*(引数1)+1
戻り値 = 結果
2次関数
x2+2x+1を計算する関数
25 戻り値
関数の定義
関数の呼び出し
引数とReturnは省略することができます
ただし、Returnを省略または
Returnのみ(戻り値がない)の場合は
未定義値(undefined)が返されます
例:consoleで”Hello World!”を出力する関数
変数の有効範囲のこと
JavaScriptにはグローバル変数とローカル変数がある
グローバル変数は関数の外で宣言された変数であり
ローカル変数は関数内で宣言された変数
グローバル変数:プログラムのどの位置からも参照することができる
ローカル変数:宣言された関数内でのみ参照できる
ただし、Varを省略して変数を宣言した場合はこの限りでない
変数を宣言する場合にVarを省略すると
必ずグローバル変数となる
関数内で同じように宣言しても
グローバル変数となる
そのため、変数を宣言する際はVarを必ずつけること
関数外表示 関数内表示
グローバル変数あり
ローカル変数なし
グローバル変数が
表示される
グローバル変数が
表示される
グローバル変数なし
ローカル変数あり
変数未定義による
エラー
ローカル変数が
表示される
グローバル変数あり
ローカル変数あり
グローバル変数が
表示される
ローカル変数が
表示される
変数名はどちらも同じものとする
変数に値が代入されていない場合はundefinedとなる
7月8日
Enchant.jsについて

More Related Content

What's hot

Java電卓勉強会資料
Java電卓勉強会資料Java電卓勉強会資料
Java電卓勉強会資料Toshio Ehara
 
情報科学シケスラ Fibonacci
情報科学シケスラ Fibonacci情報科学シケスラ Fibonacci
情報科学シケスラ Fibonaccitozan gezan
 
研究生のためのC++ no.3
研究生のためのC++ no.3研究生のためのC++ no.3
研究生のためのC++ no.3Tomohiro Namba
 
Qlik Tips 20220315 Null値の課題と対策
Qlik Tips 20220315 Null値の課題と対策Qlik Tips 20220315 Null値の課題と対策
Qlik Tips 20220315 Null値の課題と対策QlikPresalesJapan
 
プログラミング言語のパラダイムシフトーScalaから見る関数型と並列性時代の幕開けー
プログラミング言語のパラダイムシフトーScalaから見る関数型と並列性時代の幕開けープログラミング言語のパラダイムシフトーScalaから見る関数型と並列性時代の幕開けー
プログラミング言語のパラダイムシフトーScalaから見る関数型と並列性時代の幕開けーTanUkkii
 
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミングOuka Yuka
 
命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへNaoki Kitora
 
言語処理系入門4
言語処理系入門4言語処理系入門4
言語処理系入門4Kenta Hattori
 
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章YOSHIKAWA Ryota
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPAkira Takahashi
 
エクストリームエンジニア4
エクストリームエンジニア4エクストリームエンジニア4
エクストリームエンジニア4T-arts
 
はじぱた7章F5up
はじぱた7章F5upはじぱた7章F5up
はじぱた7章F5upTyee Z
 
パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0sleipnir002
 
Cocoa勉強会#43-Blocksを使う
Cocoa勉強会#43-Blocksを使うCocoa勉強会#43-Blocksを使う
Cocoa勉強会#43-Blocksを使うMasayuki Nii
 
error handling using expected
error handling using expectederror handling using expected
error handling using expectedAkira Takahashi
 
研究生のためのC++ no.2
研究生のためのC++ no.2研究生のためのC++ no.2
研究生のためのC++ no.2Tomohiro Namba
 
Scalaで型クラス入門
Scalaで型クラス入門Scalaで型クラス入門
Scalaで型クラス入門Makoto Fukuhara
 

What's hot (20)

Java電卓勉強会資料
Java電卓勉強会資料Java電卓勉強会資料
Java電卓勉強会資料
 
情報科学シケスラ Fibonacci
情報科学シケスラ Fibonacci情報科学シケスラ Fibonacci
情報科学シケスラ Fibonacci
 
研究生のためのC++ no.3
研究生のためのC++ no.3研究生のためのC++ no.3
研究生のためのC++ no.3
 
Qlik Tips 20220315 Null値の課題と対策
Qlik Tips 20220315 Null値の課題と対策Qlik Tips 20220315 Null値の課題と対策
Qlik Tips 20220315 Null値の課題と対策
 
プログラミング言語のパラダイムシフトーScalaから見る関数型と並列性時代の幕開けー
プログラミング言語のパラダイムシフトーScalaから見る関数型と並列性時代の幕開けープログラミング言語のパラダイムシフトーScalaから見る関数型と並列性時代の幕開けー
プログラミング言語のパラダイムシフトーScalaから見る関数型と並列性時代の幕開けー
 
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
 
命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ
 
言語処理系入門4
言語処理系入門4言語処理系入門4
言語処理系入門4
 
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
 
What is template
What is templateWhat is template
What is template
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JP
 
エクストリームエンジニア4
エクストリームエンジニア4エクストリームエンジニア4
エクストリームエンジニア4
 
関数
関数関数
関数
 
はじぱた7章F5up
はじぱた7章F5upはじぱた7章F5up
はじぱた7章F5up
 
パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0
 
Cocoa勉強会#43-Blocksを使う
Cocoa勉強会#43-Blocksを使うCocoa勉強会#43-Blocksを使う
Cocoa勉強会#43-Blocksを使う
 
error handling using expected
error handling using expectederror handling using expected
error handling using expected
 
研究生のためのC++ no.2
研究生のためのC++ no.2研究生のためのC++ no.2
研究生のためのC++ no.2
 
Scalaで型クラス入門
Scalaで型クラス入門Scalaで型クラス入門
Scalaで型クラス入門
 
Stristr
StristrStristr
Stristr
 

Similar to Web講座 第8回

pi-3. 式の抽象化とメソッド
pi-3. 式の抽象化とメソッドpi-3. 式の抽象化とメソッド
pi-3. 式の抽象化とメソッドkunihikokaneko1
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門masatora atarashi
 
VBAで数値計算 02 数式の関数をプログラムの関数で実装
VBAで数値計算 02 数式の関数をプログラムの関数で実装VBAで数値計算 02 数式の関数をプログラムの関数で実装
VBAで数値計算 02 数式の関数をプログラムの関数で実装Katsuhiro Morishita
 
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4Shingo Inoue
 
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)啓 小笠原
 
Javascriptで学ぶ Functional Programming
Javascriptで学ぶ Functional ProgrammingJavascriptで学ぶ Functional Programming
Javascriptで学ぶ Functional Programmingtodorokit
 
SwiftでRiemann球面を扱う
SwiftでRiemann球面を扱うSwiftでRiemann球面を扱う
SwiftでRiemann球面を扱うhayato iida
 
ji-3. 条件分岐と場合分け
ji-3. 条件分岐と場合分けji-3. 条件分岐と場合分け
ji-3. 条件分岐と場合分けkunihikokaneko1
 
RubyとJavaScriptに見る第一級関数
RubyとJavaScriptに見る第一級関数RubyとJavaScriptに見る第一級関数
RubyとJavaScriptに見る第一級関数Altech Takeno
 
Functional Programming in Swift
Functional Programming in SwiftFunctional Programming in Swift
Functional Programming in SwiftKaz Yoshikawa
 
yieldとreturnの話
yieldとreturnの話yieldとreturnの話
yieldとreturnの話bleis tift
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタートShumpei Shiraishi
 
ECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミングECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミングTanUkkii
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1Susisu
 
ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】株式会社ランチェスター
 

Similar to Web講座 第8回 (20)

pi-3. 式の抽象化とメソッド
pi-3. 式の抽象化とメソッドpi-3. 式の抽象化とメソッド
pi-3. 式の抽象化とメソッド
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
 
VBAで数値計算 02 数式の関数をプログラムの関数で実装
VBAで数値計算 02 数式の関数をプログラムの関数で実装VBAで数値計算 02 数式の関数をプログラムの関数で実装
VBAで数値計算 02 数式の関数をプログラムの関数で実装
 
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4
 
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)
 
たのしい関数型
たのしい関数型たのしい関数型
たのしい関数型
 
Javascriptで学ぶ Functional Programming
Javascriptで学ぶ Functional ProgrammingJavascriptで学ぶ Functional Programming
Javascriptで学ぶ Functional Programming
 
ATN No.2 Scala事始め
ATN No.2 Scala事始めATN No.2 Scala事始め
ATN No.2 Scala事始め
 
SwiftでRiemann球面を扱う
SwiftでRiemann球面を扱うSwiftでRiemann球面を扱う
SwiftでRiemann球面を扱う
 
ji-3. 条件分岐と場合分け
ji-3. 条件分岐と場合分けji-3. 条件分岐と場合分け
ji-3. 条件分岐と場合分け
 
RubyとJavaScriptに見る第一級関数
RubyとJavaScriptに見る第一級関数RubyとJavaScriptに見る第一級関数
RubyとJavaScriptに見る第一級関数
 
Functional Programming in Swift
Functional Programming in SwiftFunctional Programming in Swift
Functional Programming in Swift
 
Ajax 応用
Ajax 応用Ajax 応用
Ajax 応用
 
JSクラス定義
JSクラス定義JSクラス定義
JSクラス定義
 
yieldとreturnの話
yieldとreturnの話yieldとreturnの話
yieldとreturnの話
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタート
 
ji-6. 配列
ji-6. 配列ji-6. 配列
ji-6. 配列
 
ECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミングECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミング
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1
 
ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】
 

More from nanametown

第九回ネットワークチーム講座資料
第九回ネットワークチーム講座資料第九回ネットワークチーム講座資料
第九回ネットワークチーム講座資料nanametown
 
Web講座 第11回
Web講座 第11回Web講座 第11回
Web講座 第11回nanametown
 
Web講座 第10回
Web講座 第10回Web講座 第10回
Web講座 第10回nanametown
 
Web講座 第9回
Web講座 第9回Web講座 第9回
Web講座 第9回nanametown
 
Web講座 第7回
Web講座 第7回Web講座 第7回
Web講座 第7回nanametown
 
Web講座 第6回
Web講座 第6回Web講座 第6回
Web講座 第6回nanametown
 
Web講座 第4回
Web講座 第4回Web講座 第4回
Web講座 第4回nanametown
 
Web講座 第3回
Web講座 第3回Web講座 第3回
Web講座 第3回nanametown
 
Web講座 第2回
Web講座 第2回Web講座 第2回
Web講座 第2回nanametown
 
Web講座 第1回
Web講座 第1回Web講座 第1回
Web講座 第1回nanametown
 

More from nanametown (10)

第九回ネットワークチーム講座資料
第九回ネットワークチーム講座資料第九回ネットワークチーム講座資料
第九回ネットワークチーム講座資料
 
Web講座 第11回
Web講座 第11回Web講座 第11回
Web講座 第11回
 
Web講座 第10回
Web講座 第10回Web講座 第10回
Web講座 第10回
 
Web講座 第9回
Web講座 第9回Web講座 第9回
Web講座 第9回
 
Web講座 第7回
Web講座 第7回Web講座 第7回
Web講座 第7回
 
Web講座 第6回
Web講座 第6回Web講座 第6回
Web講座 第6回
 
Web講座 第4回
Web講座 第4回Web講座 第4回
Web講座 第4回
 
Web講座 第3回
Web講座 第3回Web講座 第3回
Web講座 第3回
 
Web講座 第2回
Web講座 第2回Web講座 第2回
Web講座 第2回
 
Web講座 第1回
Web講座 第1回Web講座 第1回
Web講座 第1回
 

Web講座 第8回