Presentation is loading. Please wait.

Presentation is loading. Please wait.

第6回 JavaScript ゼミ セクション3-6 発表者 直江 宗紀. 組み込み関数  JavaScript に予め用意された関数  特定のオブジェクトに依存していない  単に関数名で呼び出すことが可能.

Similar presentations


Presentation on theme: "第6回 JavaScript ゼミ セクション3-6 発表者 直江 宗紀. 組み込み関数  JavaScript に予め用意された関数  特定のオブジェクトに依存していない  単に関数名で呼び出すことが可能."— Presentation transcript:

1 第6回 JavaScript ゼミ セクション3-6 発表者 直江 宗紀

2 組み込み関数  JavaScript に予め用意された関数  特定のオブジェクトに依存していない  単に関数名で呼び出すことが可能

3 eval() 関数 eval() 関数とは  文字列で書かれた式を引数とし評価する  返り値はその式を計算した数値  書式: eval( string )string: 文字列の式 使用例 var result ; result = eval(“2 * 5 + 1”) ; document.write(“result = ”+result) ; >result = 11

4 eval() 関数の特徴 利用可能な事項  変数に代入した文字列として書いた式も引数 test=“5+2” ; result=eval(test) ;// result には7が代入される  文字列中に変数、メソッドが入れられる a=2 ; result=eval(“Math.cos(Math.PI)+a”) ; // result には1が代入される (-1+2 の計算 )  戻り値、内容が数字以外の物は利用不可

5 応用プログラム例 function disp(num){ document.calc.display.value += num ; } function calculate(){ document.calc.display.value=eval(document.calc.display.value) ; } 簡易電卓 - 中略 - ( プログラム全一覧は付録1に添付 )

6 応用プログラム結果

7 parseInt() 関数 parseInt() 関数とは  引数として文字列の数字を整数へ変換する  書式: parseInt( string, [ radix ] ) 引数: string - 数値に変換する文字列 radix - 基数  戻り値として整数値

8 parseInt() 関数(2) 他の進数も扱える  2進数  8進数  16進数 途中変換できない文字があれば 無視される parseInt(“3AA”) → 2文字目以降無視 先頭文字が数値以外  NaN を返す parseInt(“aa”) → NaN を返す 式結果 parseInt(“2”)2 parseInt(“A”,16)10 parseInt(“1100”,2)12 parseInt(“0x11”)17 parseInt(“011”)9 表 parseInt() 関数の実行例

9 parseFloat() 関数 parseFloart() 関数とは  数値の文字列を浮動小数点数値に変換  指数表記の物も変換可 (1.4e3,1.4*10^3 など )  書式: parseFloat( string ) 引数: string – 数値に変換する文字列  戻り値として浮動小数点数値

10 parseFloat() 関数(2) 途中変換できない文字があれば 無視される parseFloat(“4.34AAA”) → 後ろの文字を無視 先頭文字が数値以外  NaN を返す parseFloat(“A1”) → NaN を返す 式結果 parseFloat(“3.14”)3.14 parseFloat(“4.34AAA”)4.34 parseFloat(“1.3e3”)1300 parseFloat(“1.2e-3”)0.0012 parseFloat(“A1”)NaN 表 parseFloat() 関数の実行例

11 非数であるか調べる isNaN() 関数とは  引数に与えた値が NaN( 非数 ) か調べる NaN – Not a Number の略  書式: isNaN( testValue ) 引数: testValue – 調べる値 戻り値: true または false

12 エンコード、デコード Webでは  半角英数字のみしか扱えない場合が多い ASCII キャラクタと呼ばれる7ビット表現文字列  URLなどにスペース、日本語の複数バイト文字 を 含めることは不可 最近対応できる技術が出てきてるが、それは例外とする  URLで複数バイト文字を使う場合 → 使用可能な文字列へ変換 ( エンコード ) する必要

13 escape() 関数,unescape() 関数 エンコード、デコードを行う関数  escape() 関数 書式: escape( string ) 引数: string – エンコードする文字列 戻り値:エンコードされた文字列  unescape() 関数 書式: unescape( string ) 引数: string – デコードする文字列 戻り値:デコードされた文字列

14 エンコード、デコードプログラム 例 function decode(form){ var myString = unescape(form.encodeTxt.value) ; document.myform.decodeTxt.value = myString ; } function encode(form){ var myString = escape(form.decodeTxt.value) ; document.myForm.encodeTxt.value = myString ; } [ 元の文字列 ] [ エンコードされた文字列 ] (プログラム全一覧は付録2に添付)

15 プログラム結果

16 エンコード、デコード(2) escape(),unescape() の出力  Webブラウザのバージョンによって違う  古い → URLエンコード形式出力  新しい → ユニコード表記出力の物も  しかし、URLではURLエンコード形式のみ有 効 → バージョン問わずURLエンコード形式欲し い

17 エンコード、デコードの関数 URLエンコード形式出力の関数  エンコード関数 encodeURI() encodeURIConponent()  デコード関数 decodeURI() decodeURIConponent()  引数はエンコード、デコードしたい文字列

18 関数の動作の違い エンコード、デコードそれぞれ2つの関数  “Conpoment” が付いてるついてないの違い 付いてない → 予約文字はエンコード ( デコード ) しない 付いてる → 予約文字もエンコード ( デコード ) する 予約文字とは  正規表現などで用いるメタキャラクタのこと  種類 「, 」 「 / 」 「 ? 」 「 : 」 「 ; 」 「 @ 」 「 & 」 「 = 」 「 + 」 「 $ 」 等

19 実例プログラム プログラム全一覧は付録2~4に添付 次ページ結果図のウィンドウについて  左から順に escape(),unescape() 利用結果 encodeURI(),decodeURI() 利用結果 encodeURIComponent(), decodeURIComponent () 利用結果

20 エンコード、デコード実例

21 練習問題 1. プログラム例「簡易電卓」を元に、式中に 戻り値が数値のメソッドを利用しても計算 が行われることを確認せよ。また、三角関 数及び対数計算も簡単に行えるように改良 した、簡易関数電卓も作成せよ。 2. input タグまたは textarea タグにより入力さ れた文字列を検索サイトに送り検索せるプ ログラムを作成せよ。 (補足)「 http://www.google.com/search?q= 」の後にエンコード文字列 を入れ、 window.open() 関数の引数に渡すと良い


Download ppt "第6回 JavaScript ゼミ セクション3-6 発表者 直江 宗紀. 組み込み関数  JavaScript に予め用意された関数  特定のオブジェクトに依存していない  単に関数名で呼び出すことが可能."

Similar presentations


Ads by Google