당신은 당신이 벤 독일어의 getObject
및 setObject
볼 수있는이를 단순화하려면 :
http://benalman.com/projects/jquery-getobject-plugin/
var myObj = {};
// Setting.
Cowboy.setObject('a.b.c', { d: 1, e: 2 }, myObj); // returns a.b.c reference
// myObj is now { a: { b: { c: { d: 1, e: 2 } } } }
// Getting.
Cowboy.getObject('a.b.c.d', myObj); // returns 1
Cowboy.getObject('a.b.c.x', myObj); // returns undefined
Cowboy.getObject('a.b.c.d.x', myObj); // returns undefined
// Testing.
Cowboy.exists('a.b.c.d', myObj); // returns true
Cowboy.exists('a.b.c.x', myObj); // returns false
Cowboy.exists('a.b.c.d.x', myObj); // returns false
// I'm not sure why you'd want to do something like this, but it's
// certainly possible...
Cowboy.setObject('document.body.style.display', 'none');
Cowboy.getObject('document.body.style.display'); // returns 'none'
이 결정은 다른 언어로 진행되는 것으로 보입니다. C (및 derivates)에서는 널 포인터 예외가 발생합니다. 또한 통역사가 부동산 가치로 무엇을하려하는지 반드시 알지는 못한다는 사실을 단순히 해석하고 있다는 것을 알지 못합니다. –
@FelixKling 예, 동의합니다. 특히 _most_의 경우'obj'가 정의되어 있지 않다면 아마 정말 나쁜 일이 일어날 것입니다. 'obj.foo'가 자동적으로'undefined'로 평가되는 것보다 더 잘 잡을 수 있습니다. – Alnitak