- ベストアンサー
普通の関数とメソッドの違い【JavaScript】
こんにちは 今、Javascriptについて勉強しているのですが、 普通の関数と、 オブジェクトの中にあるプロパティのメソッド(つまり関数) とは、何が違うのでしょうか・・・
- question_april
- お礼率52% (118/223)
- JavaScript
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 回答者1の方がおっしゃっているように単純に「関数」「メソッド」という言葉だけで考えるならば同じであると言えると思います。 ただし、オブジェクトの中のプロパティとして定義されているメソッドというと設計上の意味合いが異なってくるかもしれません。オブジェクトの中で定義することによってオブジェクトの中で定義された変数を外部に公開することなく参照できるようにすることで、うっかり値を変更されることを防いだり(カプセル化)、クラスの共通部分をそのままに拡張することで再利用性を高めたり(継承)、同じ性質のクラスを利用することでプログラミング効率を高めたり(ポリモーフィズム)することができます。 文章で説明するのは少々難しく表現に若干、誤解がある部分はあるかもしれませんが、大体このようなメリットがあります。 どちらかというとJavascriptというよりはオブジェクト指向の話になってしましました。 Javascriptのオブジェクト設計は他の言語と比較して若干、癖もありますので、オブジェクト指向設計などを別途、勉強されてみると良いかもしれません。 ご参考になれば幸いです。
その他の回答 (1)
- ggggggggggg hhhhhhhhhhh(@tasketeqq1)
- ベストアンサー率15% (36/231)
違いません、「オブジェクトの中にある」というだけです。
お礼
ありがとうございました
関連するQ&A
- オブジェクトやプロパティ、メソッドに付いて
今、JavaScriptを覚えようとしてるのですが、オブジェクトから訳が分からなくなってきました。 ゲームに例えたら、自機がオブジェクトで、プロパティが自機のステータスで、 メソッドがいろいろな動作をさせる関数って感じでいいんでしょうか? それと、オブジェクトは下のようにメソッドやパラメータを使用しますが、 パラメータ=="値" って感じなのでしょうか?? オブジェクト名.メソッド名(パラメータ); オブジェクト名.プロパティ名="値"; よろしくご指導お願いします。
- ベストアンサー
- JavaScript
- メソッドの中のオブジェクト?
メソッドの中のオブジェクト? オブジェクト志向を勉強しています。WSHも勉強しています。 オブジェクトはメソッドとデータで構成されていると学びました。 下記URLのWshNetworkオブジェクトではメソッドの中に更にオブジェクトがあるように見えます。 メソッドの中にオブジェクト、プロパティの中に更にオブジェクトを持つことがあるんでしょうか? http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh15/cformwsh15_01.html
- ベストアンサー
- その他(プログラミング・開発)
- プロパティやメソッドを自分で作ったJavaScript
あるJavaScriptの解説サイトで・・・ MyTV.turnON(); MyTV.setChannel( 12 ); というふうに、テレビを例えに使って概要を説明し、その後で、 さて、あなたはここまで、ずっと不思議に思っていたかも知れません。 それは「そうそう都合良く自分の欲しいプロパティやメソッドを作ることが出来るのか?」ということです。 できます。 むしろ、そのプロパティやメソッドを作ることが JavaScript プログラミングの全てなのです。 と、書かれてありました。 JavaScriptを勉強し始めてから、あちこちのサイトで例文を見ましたが、 このように自分でプロパティやメソッドを作ったものが見つからず、 「本当に勝手に作れるものだろうか??」と、感覚的にいまいちピンときません。 どなたか、「こうするものだよ」という例文を教えてください。 もしくは、そのような例文の載っているサイトを教えてください。 よろしくお願いします<(_ _)>
- ベストアンサー
- JavaScript
- 関数とメソッドの違い
Pythonで 関数とメソッドの違いはなんですか? 関数の()かっこのなかは引数ですよね? では、 メソッドの()かっこのなかはなんとよぶんでしょうか?
- ベストアンサー
- Python
- 関数とメソッドの違い
初歩的な質問なのですが、 関数とメソッドの違いが分からず悩んでいます。 書籍や人によって、 関数とメソッドは同じ物として書いている物もあれば、 メソッドはクラスに関連付いた関数としていたり、 クラスでもpublic関数だけとか、 引数のある物がメソッド、 逆に無い物がメソッド等々…で、 どれが正しいのか良く分からないのです。 関数とメソッドの違いを教えていただけますよう、 お願いいたします。
- ベストアンサー
- C・C++・C#
- Msgboxはメソッドなのでしょうか?関数なのでし
オブジェクトブラウザでmsgboxを調べると画像のように出てきますが アイコンが「メソッド」です。 しかし、msgboxのヘルプを開くと、「MsgBox 関数」となっています。 Msgboxはメソッドなのでしょうか?関数なのでしょうか? ご回答よろしくお願いします。
- ベストアンサー
- Visual Basic
- オフィス2010 今まで関数だったのがメソッドに
オフィス2003からオフィス2010にしたのですが vbaのオブジェクトブラウザを見ていると、今までヘルプには関数として書かれていたのもが メソッドになってるのですが、変わったのですか? たとえば、WorksheetFunctionクラスのCountなんて、もろ関数だと思うのですが、 F1を押してヘルプを見ると「WorksheetFunction.Count メソッド」となっています。 関数とメソッドは同じ意味なのでしょうか?
- ベストアンサー
- オフィス系ソフト
- 関数とメソッドって違うものですか?(JAVA)
現在0からJAVAを勉強していますが、関数とメソッドの違いがわかりません。 過去ログにC/C++カテゴリーで同様の質問がありましたが高度なんだか、言語が違うからなのかわかりませんでした。 関数とメソッドってどう区別できるのでしょうか? (”インスタンス.”の後ろには関数もメソッドも来ることができますよね?) (かっこも後ろについていますが、あれの意味もわかりません)
- 締切済み
- Java
- プロパティとメソッドが混乱してくる
ActiveSheet.Cells.SpecialCells(xlLastCell).Addressというステートメントがあるとします。 このどれがメソッドで、どれがプロパティでどれがオブジェクトで、どれがコレクションでと わからなくなってきます。特にメソッドとプロパティは"."で区切られるので混乱してきます。 ActiveSheetオブジェクトのCellsメソッドのSpecialCellsプロパティのAddressプロパティに なるんでしょうか?これは一例ですが、ドットが沢山連なるにつれて意味がわからなくなってきます。 どれがプロパティでどれがメソッドでなどです。どのように見分ければいいでしょか?一応は メソッド、プロパティの違いは理解しているつもりです。
- ベストアンサー
- その他(プログラミング・開発)
- javascriptのカプセル化について
ただいま、javascriptの勉強をしている初学者であります。 テストプログラムを作ってみたのですが、思うように動作せず、理由が分からなくて悩んでいます。 オブジェクト指向のように、パブリックとプライベートの関数をそれぞれ作り、動作させようとしたのですが、method1()、method2()は続けて呼び出せるのですが、method3()を呼び出すことなく、プログラムが終了してしまいます。 ご指南よろしくお願いします。 var test1 = function(){ this.method1 = function(){ alert("method1"); method2(); }; var method2 = function(){ alert("method2"); this.method3();//呼ばれない? }; this.method3 = function(){ alert("method3"); }; };
- ベストアンサー
- JavaScript
お礼
ありがとうございました