2015-07-22 3 views
-2

Файл 1Javascript вызов функции из другого файла JavaScript

var M = function (speech) { 
    "use strict"; 
    document.getElementById("speech").innerHTML = speech.toString(); 
}; 

Файл 2

$("#test").click(function() { 
    M("hello"); 
}); 

JS ворса probelms v использовали http://puu.sh/j8AOo/a24a88825b.png

+0

Есть ли вопрос где-то? – jcoppens

+0

Вы хотите спросить, как/если вы можете использовать две библиотеки JS и звонить друг другу? Если это так, вам нужно будет включить ссылку для файла JS seond в первом и/или иметь ссылку на другую в обоих. –

+0

Возможный дубликат [Можно ли назвать функцию, написанную на одном JavaScript в другом JS-файле?] (Http://stackoverflow.com/questions/3809862/can-we-call-the-function-written-in-one-javascript -in-another-js-file) – spenibus

ответ

1

'M' до того, как было определено ,

Эта ошибка возникает из-за того, что вы определяете M как глобальную переменную в одном файле и пытаетесь вызвать ее в другой. Поскольку глобальные переменные часто являются признаком запаха кода, JSLint заставляет вас специально объявлять их. Для этого есть несколько вариантов. Во-первых, вы можете добавить File 2 с /*global M*/, и он должен прекратить жаловаться.

Отсутствует «новый».

Это основано на переменных условностях. В JavaScript мы обычно называем только конструкторские функции, используя CamelCase. Поскольку функции-конструкторы предназначены для вызова с помощью ключевого слова new, он обнаруживает это как ошибку. В этом случае ваш лучший вариант, вероятно, просто переименует M в m.

Дополнительную информацию о настройках и других JSLint разделах справки см. В разделе this page. В качестве альтернативы, если у вас есть какие-либо высказывания в этом вопросе, я бы сильно предложил проверить JSHint вместо этого.

+0

Спасибо! Я относительно новый, так что это действительно полезно :) – Switch

Смежные вопросы