• ベストアンサー

functionとは、自分で作ったルールですか?

こんにちは functionオブジェクトとは、自分ルールのオブジェクトを作成するという意味ですか? もし、そうであるなら、構文を教えていただきたいです。 例えば、function(){ console.log(argument); }とはどういうことですか

質問者が選んだベストアンサー

  • ベストアンサー
noname#212058
noname#212058
回答No.4

> function(){ console.log(argument); }とはどういうことですか このコードは関数リテラル(無名関数、匿名関数と呼ぶこともあります)です。 http://www.ajaxtower.jp/js/function/index5.html > functionオブジェクトとは、自分ルールのオブジェクトを作成するという意味ですか? 以下のサイトの「第1章」「第9章」あたりを読むと少しイメージが湧くかもしれません。 http://uhyohyo.net/javascript/index.html このあたりは javascript でも中級レベルの知識ですね。

question_april
質問者

お礼

回答ありがとうございます 頂いたURLから勉強してみます そして、これは中級レベルなのですか? 少しほっとしました。functionがどうにも理解しずらいので・・

その他の回答 (3)

  • hue2011
  • ベストアンサー率38% (2800/7250)
回答No.3

functionはfunctionであってオブジェクトではありません。 オブジェクトというのは定義をどこかに設定してあり、必要があるときにそれを実行空間に実体化するものです。実体を得たものをインスタンスと呼びます。 functionは単に関数であって、サブルーチンにすぎません。 宣言をするだけで、構文なんてありません。 javascriptの場合は型も設定しないけど、引数と戻り値を設定するだけです。

回答No.2

もし、貴方が高校生以上なら、関数の事を英語でfunctionと言います、というのが答えなのですが、中学一年生などであれば説明が難しいですね。 もう少し貴方に関しての情報が欲しいところです。

回答No.1

機能するという意味です。

関連するQ&A

  • function()を初めて使いました。エラー。

    かなり初歩的な質問をさせていただきます。 初めてfunction関数を使ったのですが、下記のようなエラーが出ました。 Warning: array_reverse() [function.array-reverse]: The argument should be an array in E:\Web\Chat2\chat\logpage.php on line 99 Warning: array_reverse() [function.array-reverse]: The argument should be an array in E:\Web\Chat2\chat\logpage.php on line 100 Warning: array_reverse() [function.array-reverse]: The argument should be an array in E:\Web\Chat2\chat\function.php on line 38 Warning: flock() expects parameter 1 to be resource, boolean given in E:\Web\Chat2\chat\function.php on line 41 Warning: fputs(): supplied argument is not a valid stream resource in E:\Web\Chat2\chat\function.php on line 48 Warning: flock() expects parameter 1 to be resource, boolean given in E:\Web\Chat2\chat\function.php on line 49 Warning: fclose(): supplied argument is not a valid stream resource in E:\Web\Chat2\chat\function.php on line 50 チャットを作っていて、何度も使う文をfunctionでまとめて、別ファイルに保存し、 requireで呼び出して、str();で使うとこうなりました。 function load(){ $log_data = "./data/log".$_GET['id'].".cgi"; $log_file = file($log_data); $member_data = "./data/member".$_GET['id'].".cgi"; $member_file = file($member_data); } このような形で使っているのですが、何かfunctionを使うにあたって注意などがあれば教えていただけませんか?

    • 締切済み
    • PHP
  • JavascriptのFunctionの構文について

    function定義で"a=function() {...}();"と書ある場合の、"}();"の意味が分かりません。 どなたか、この構文の意味をご存知であれば教えてください。 例) counter = function() { var count; return {init: function() {count =0;},count:{count++;}}; }(); ↑この部分です。 "function () {......};"の構文は私も良く使用するので理解しているつもりです。 初歩的な問題かも知れませんが宜しくお願いします。

  • (function(){})()の意味

    (function(){})() の意味がよくわからずに困っています。 下記の2タイプではどう意味が変わってくるのでしょうか? (1)var fuga = function(){}; (2)var fuga = (function(){})(); 下記のコードで実験してみたところ、 --------------------- var fuga = function(){ this.obj = 'value'; }; var fuga = (function(){ return { obj = 'value'; }; })(); --------------------- (1)の場合は、newしないとfugaオブジェクトのメンバを使用できない、 (2)の場合は、newしなくてもfugaオブジェクトのメンバを使用できるようなのですが、 (2)で(function(){})を取り除いて出てくる()はnewのエイリアスだったりするのでしょうか? 

  • 即時関数でプライベート変数的になってる理由を教えて

    即時関数内で、プライベート変数的な動きになっている(?)コードがあるのですが、呼び出せない理由を教えてください ・呼び出せる例1 (function() {  hoge2 = 'ホゲ2'; })() console.log(hoge2); ・呼び出せる例2 (function() {  var hoge1 = {};  hoge2 = 'ホゲ2'; })() console.log(hoge2); ・呼び出せない例 (function() {  var hoge1 = {},hoge2 = 'ホゲ2'; })() console.log(hoge2); ■質問1 ・どうして呼び出せないのでしょうか? ・varでローカル宣言(?)してるhoge1オブジェクトに紐づいているから? ・つまり、hoge2オブジェクトを生成している場所が違う? ■質問2 ・呼び出せない状態の時、hoge2はプライベート変数になっているのでしょうか? ■質問3 ・そもそもどうして呼び出せるのでしょうか? ・即時関数は(名前もしくはスコープ)空間を作り閉じ込めるので~、という記述を、どこかで見かけたような気もするのですが…

  • [JS] private関数からオブジェクト参照

    JavaScriptにて外部から使用する関数をpublicに、内部的に使用するだけの関数をprivateにしたく、 <http://d.hatena.ne.jp/brazil/20051028/1130468761>や<http://www.findxfine.com/programming/javascript/59.html>を参考に以下のようにしてみました。 func1はtestクラス内からしか呼び出せず、privateになっており、 func2はtestクラス外からも呼び出せて、publicになっているようです。 しかし、func2からfunc1を呼び出した際に、func2の呼び出しもとのオブジェクトを参照しようとすると undefinedになってしまいます。 var a = new test(); //a.func1(); // これはprivateなのでエラー a.func2(); // こちらはpublicなのでOK function test(){ var self = this; // private variable var data1 = 1; // public variable this.data2 = 2; // private function function func1(){ console.log(data1); // 1を表示 console.log(this.data2); // これがundefinedとなってしまう } // public function this.func2 = function(){ console.log(data1); // 1を表示 console.log(this.data2); // 2を表示 func1(); }; } どのようにすれば、オブジェクト変数を参照でき、 クラス内でのみ使用可能なprivate関数を定義できるのでしょうか。

  • 連想配列/オブジェクト? どちらなのか教えて

    ・色々やっている内よく分からないデータになったので、連想配列/オブジェクト? どちらなのか教えてください ■前提オブジェクト var t1 = { key1: '佐藤' , key2: '鈴木' }; ■配列作成 var t2 = new Array(); ■配列にオブジェクトを格納? t2[t1['key1']]=t1['key2']; console.log(t2); //[佐藤: "鈴木"] ■アクセスしてみる console.log("t2['佐藤']"); //鈴木 console.log(t2[0]); //undefined ■質問 ・t2[0]は、なぜundefined? ・t2配列0番目に「佐藤: "鈴木"」というオブジェクトが入っていると思ったのですが… ・t2は、連想配列/オブジェクトの何れでしょうか? ・挙動から推測するとオブジェクトっぽいのですが、外側のかっこが[]でもオブジェクトなのでしょうか? ・外側のかっこが[]は配列で、外側のかっこが{}はオブジェクトと思っているのですが…

  • js初心者 consoleなどについて

    初心者で恐縮ですが、よろしくお願いします。 jqueryを使用してます。 $(function () { obj = function(attr){ $.get('getFileList.php', {attribute : attr.data.value }, function(data){var array = data;}); }; delete obj; $("#file").on('input', {value:'file'}, obj); }); #fileに入力があったらobjが発動し$.getでphpから値を得て出力するという処理を書いています。 うまくいかないので変数arrayにちゃんと値が入っているか確認しようとしconsole.log(array)としたところjsのソースコードがconsoleにそのまま表示され、console.logを消してみてもまったく変化がなくなってしまいました。(console.log(array)したことが原因なのかは不明です。これを描いたあたりから変化がなくなっていたような気がするので。) やってみたこととしてはキャッシュの削除と.onの呼び出しの前にオブジェクトを削除することです。 ですが、やはりその変更点もconsoleに反映されてません。  初歩的かもしれませんがよろしくお願いします。

    • ベストアンサー
    • AJAX
  • 最後に()が付いていない内側の関数を外から呼ぶ方法

    下記状態の時、obj内容を一切変更することなく、console.log("a")を実行することは出来ない、という理解で合っているでしょうか? ・最後に()演算子がないので、内側のgoo関数を実行することが出来ない ・外側のportalで、内側のgoo関数を呼び出していれば実行できるがその記述もない この場合、gooのvarは全く意味がない? var obj = {  portal : function() {   var goo = function(){    console.log("a");   }  } } var obj = {  portal : function() {   goo = function(){    console.log("a");   }  } } ・obj.portal().goo() … × ・(obj.portal()).goo() … ×

  • 【GAS】 ~is not a function

    GoogleのAppsScriptに関する質問です。function test実行時に生じるErrorの原因が特定できず困っています。誤っている箇所を教えていただけませんか(sheet name : aiueo)。 よろしくお願いします。 function getName(sheetName) { const aaa = SpreadsheetApp.getActiveSpreadsheet().getId();//✓console.log(aaa) const iii = aaa.getSheetByName(sheetName);//✖TypeError: aaa.getSheetByName is not a function } function test(){ getName("aiueo");//✖TypeError: aaa.getSheetByName is not a function }

  • イベントリスナに登録される function(e){} の "e" はeventオブジェクト?

    私はイベントリスナ登録時の匿名関数に渡す引数eの意味が今まで理解できていませんでした。 最近、下記コードを実行することで、 <script type='text/javascript'> window.addEventListener ('click', function(e){ console.info(e); // 引数をコンソール表示 (要Firebug) for (p in e){ console.info(p + ' = ' + e[p]); // プロパティを列挙 } }, false); </script> 「eventオブジェクトを渡しているらしい」と朧気ながら理解できました。 ただ、疑問点も残ります。 私の理解では、匿名関数は (function(str){ alert(str); })('Hello'); のように明示的に引数を渡さなければ、引き渡された値は undefined となるはずでした。 変数eの値はどこから出現したのでしょうか? そもそも、変数eはeventオブジェクトなのでしょうか?

専門家に質問してみよう