質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

1回答

2332閲覧

JQueryで定義した関数が認識されず、QUnitにて「is not a function」のメッセージが出てしまう。

seijiro

総合スコア6

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2018/04/09 09:18

前提・実現したいこと

JQueryで定義した関数が認識されず、QUnitにて「is not a function」のメッセージが出てしまう。

発生している問題・エラーメッセージ

JQuery及びQUnit初学者なので初歩的な質問で
大変申し訳ございませんが、知見をお持ちの方は以下ご教授願います。

Jqueryでテストプログラムを作っていて、
関数定義を作ってQUnitでテストして認識させたのですが、
定義した関数定義が読み込めず、以下のようなエラーが出てしまいます。

Died on test #1 at HTMLDocument.<anonymous> (file:///C:/COE/20180413_%E7%A4%BE%E5%86%85%E7%A0%94%E4%BF%AE%E8%AA%B2%E9%A1%8C/xxxxxxxxx.js:5:11) at l (https://code.jquery.com/jquery-3.3.1.min.js:2:29375) at c (https://code.jquery.com/jquery-3.3.1.min.js:2:29677): $.currency is not a function@ 0 ms Source: TypeError: $.test_function is not a function at Object.<anonymous>

該当のソースコード

QUnitのテストコード

$(document).ready(function(){ QUnit.test("関数の定義",function(){ $.test_function(); QUnit.ok(true, "関数が定義されている"); });

Jquery側のソース

$(document).ready(function() { function test_function() {       // 処理 } });

試したこと

以下試したものの状況は変わりませんでした。

・関数が参照するスコープが参照できないのかと思い、functionの記載場所を変えました。

補足情報(FW/ツールのバージョンなど)

ブラウザ側でJqueryとQunitを以下を取り込んでいます。

<script src="https://code.jquery.com/qunit/qunit-1.22.0.js"></script> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

js

1$(document).ready(function() 2{ 3 function test_function() 4 { 5      // 処理 6 } 7}); 8```9```js 10$.test_function(); 11```と使えるわけでは有りません。 12`$.test_function();` のように使うには「[jQuery Plugin 作り方](https://www.google.co.jp/search?num=100&safe=off&q=jQuery+Plugin+%E4%BD%9C%E3%82%8A%E6%96%B9)」で検索して作成方法を調べてみてください。 13 14--- 15 16jQueryは置いておいて、まずJavaScriptの入門書からはじめることをお勧めします。

投稿2018/04/09 09:22

編集2018/04/09 09:25
kei344

総合スコア69400

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問