#javascript #jquery #variables #parameter-passing #awesomium
#javascript #jquery #переменные #передача параметров #потрясающе
Вопрос:
Допустим, у меня есть функция в JS function playerJob(job){}
Я вызываю этот метод из C , используя Awesomium, в основном говоря
int currentJob = GameModeState::changeJob(false);
mScreen->executeJavascript("map.playerJob(currentJob);");
Все, что я хочу, чтобы вы увидели, это то, что я присваиваю своей JS-функции playerJob
значение для ее параметра.
Что я хочу сделать, так это затем использовать playerJob
в моем JS, чтобы узнать, какое значение job
есть. Я хочу присвоить переменной это значение. Я не знаю, как получить это значение из моего метода без необходимости вводить параметр. Допустим, у меня есть мой метод быть
function playerJob(job) {
return job;
}
И я пытаюсь получить работу, говоря:
var currentJob = playerJob();
Это не работает, вероятно, потому, что мне нужно поместить что-то в круглые скобки.
Я знаю, что мог бы использовать playerJob
вот так:
function playerJob(job) {
someOtherFunction(job);
}
Но проблема в том, что мне нужна эта job
переменная, прежде чем я вызову какие-либо обычные «функции». Мне нужно использовать его в
$(document).ready(function()
{
$("#div").click(function(e)
{
Которое я действительно не могу «вызвать».
Есть ли способ с помощью jQuery получить эту переменную из моей playerJob
функции?
Ответ №1:
Возможно, сохранение глобальной переменной является правильным решением в этом случае.
var currentJob=null;
//var currentJob="Default Job;
function playerJob(job) {
if (job) currentJob=job; // <------- UPDATED
someOtherFunction(job);
}
$("#div").click(function(e){
if (currentJob) alert(currentJob);
}
Комментарии:
1. Я играю с этим. Я думаю, что это работает, но сначала я подтвержду.
2. Похоже, что CurrentJob остается «нулевым», но это может быть проблемой при настройке playerJob. Все еще работает ~
3. CurrentJob останется нулевым, если вы вызываете функцию без параметра. Смотрите Обновление
4. Ваше предложение эффективно для того, что мне нужна была помощь в выполнении. Спасибо.