JS глобална променлива и функция извън функцията $(document).ready

$(document).ready(function (){
    var x = false;
    $('#board_code').keyup(function(e) {
        if(x)
            callFunc();
    })  
})

function callFunc(){
    if(expression==true)
        x=true;
    else
       x=false;
}

Знам, че мога просто да поставя дефиницията на callFunc във функцията $(document).ready, но какъв е другият начин, така че да не използвам глобална променлива

АКТУАЛИЗАЦИЯ: забравих да сложа if(x), проверете го отново. Това е за съвпадение на скоби в моя уеб базиран ide проект ^^


person Community    schedule 28.07.2013    source източник


Отговори (1)


person    schedule
comment
@fireflieslive, това няма значение: if (x) {var result = callFunc()} - person 7stud; 28.07.2013
comment
Няма полза от използването на вграденото if, трябва да използвате return expresion върху return expresion ? true : false;, тъй като това добавя операция if без нужда. Приятно изкарване, благодаря! - person abc123; 28.07.2013
comment
тъй като вашият израз трябва да върне вярно или невярно. Независимо дали накрая ще се окаже нещо като return ("Does this equal this" === "No") ? true : false;, можете просто да направите return ("Does this equal this" === "No"). Ползата от използването на inline if е връщането на небулеви стойности. Примери javascript.about.com/od/decisionmaking/a/des10.htm приятен ден. - person abc123; 28.07.2013
comment
since your expression has to return a true or false. Наистина ли? Всички js изрази връщат true или false? - person 7stud; 28.07.2013
comment
Да се ​​използва в ред, ако да, ако не, моля, дайте пример. Ще се радвам да научиш нещо :) - person abc123; 28.07.2013
comment
To be used in an inline if yes, if not please provide an example. I'd love you learn something :) – abc123 Разбира се...функция do_stuff() { console.log(f()); console.log(g()); } функция f() { return (1 + 2); } функция g() {връщане (1 + 2)? вярно невярно; } do_stuff(); изход--› 3 вярно - person 7stud; 28.07.2013
comment
jsfiddle.net/JAhp7 Трябваше да бъда по-ясен, ако изразът ви не се оценява на true or false, ще го направите винаги удряйте оператора true if на вградения if. Но си прав, можеш да вкараш всичко в израза, научен урок. :) - person abc123; 28.07.2013
comment
I should of been more clear, if your expression doesn't evaluate to true or false you will always hit the true if statement of the inline if.– abc123 А? функция g() {връщане (4 - 4)? вярно невярно; } - person 7stud; 28.07.2013
comment
0 е false всяко различно от нула е true за числа, същите като C# и Java... Много ми се спи, защото вече е 7 сутринта. Приятно прекарване :) - person abc123; 28.07.2013