Thursday, 12 October 2017

javascript - How to negate bool inside function in JS?





I'm writing some script now and I have a problem when trying to
negate boolean inside a function. I mean
this:



var test =
true;

function changeThisBoolPlease(asd){

asd=!asd;
}

alert(test);


changeThisBoolPlease(test);
alert(test);


alerts
true, then true.



Any ideas? Isn't JS reference
perfect?



EDIT:




Ok,
this was only a part of my
function:



function przesun(kolor,
figury, castlings, x1, y1, x2, y2, strona) {
kolor =
nowaPozycjaKolor(kolor,x1, y1, x2, y2);
figury = nowaPozycjaFigur(figury,x1,
y1, x2, y2);
strona =
!strona;
}


Actually
I cannot return this value. How to?



class="post-text" itemprop="text">
class="normal">Answer



Objects
are not passed by reference but by value which is a reference (copy of
reference)...



In your example you're not even
passing an object but a primitive value type.



If
you want a reference, then you need to wrap it in object element
like:



var test = { val: true
};

function changeThisBoolPlease(asd){


asd.val=!asd.val;
}

alert(test.val);
changeThisBoolPlease(test);
alert(test.val);


No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print ...