this question has answer here:
- calling eval() in particular context 7 answers
i have trouble using object properties. want evaluate expression within myobject
context avoid using myobject.property
.
my final goal evaluate more complex expression 'property1+property2'
instead of 'myobject.property1+myobject.property2'
.
i have tried call method change context but, doesn't seem see object properties in passed context(i.e. object containing properties)(see last line of code below generating error).
var myobject = { property1: 20, property2: 5000 }; print(myobject.property1); // return 20 print(eval.call(myobject,property1)); // referenceerror: property1 not defined
is there way use object properties without usage of this.
or myobject.
prefix?
well, there's with
statement deprecated , shouldn't use much, in case maybe wouldn't considered harmful:
with(myobject){ console.log( property1 ); // 20 console.log( eval('property1') ); //20 console.log( eval('property1+property2') ); // 5020 }
Comments
Post a Comment