2014-10-31 2 views
-1

У меня есть две переменные, которые держат объекты:Объединение условных выражений в JavaScript

var person1 = { 
    name: "Joe", 
    study: false 
}; 

var person2 = { 
    name: "Tom", 
    study: true 
}; 

я создал две функции таким образом, что после вызова функции, он будет вызывать обе эти функции:

var person1study = function() { 
    if (person1.study === true){ 
    person.study = false; 
    } 
    else { 
    person1.study = true; 
    } 
    }; 

var person2study = function() { 
    if (person2.study === true){ 
    person2.study = false; 
    } 
    else { 
    person2.study = true; 
    } 
    }; 

Есть ли способ, чтобы я мог объединить тех, кто работает в одну функцию, которая делает то же самое?

+0

'personx.study =! Personx.study;' –

ответ

3

Просто объявить объект в качестве параметра:

function toggleStudy(person) { 
    person.study = !person.study; 
} 

toggleStudy(person1); // invert the "study" flag on the "person1" object 

Оператор ! оценивает свой операнд как логическое значение и возвращает противоположное значение.

0
var personStudy = function(person) { 
    person.study = !person.study; 
    }; 

нравится это?

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