JavaScript에서 객체 사용에 대한 간단한 기록
1. 객체를 만듭니다
// 빈 개체 생성 var o = {}; // 두 가지 속성이있는 객체를 만듭니다. x와 y var o2 = {x : 12, y : '12', 이름 : 'js'}; //이 객체의 저자 속성 값은 여전히 객체입니다 var var o3 = {x : 12, 저자 : {이름 : 'js', age : 23, address : 'China'}}; // {} var o4 = new Object ()와 동일한 빈 객체를 만듭니다. // 객체에 이름 속성 추가 o4.name = 'js'위의 것은 객체를 만드는 두 가지 방법을 사용합니다. 하나는 문자 그럴 방법이고, 다른 하나는 새로운 방법을 사용하는 객체를 만드는 것입니다. 새로운 후 객체를 생성자라고합니다.
2. 객체 액세스
위에서부터 도트 번호, 즉 객체 이름 및 액세스 방법 중 하나 인 속성 이름을 사용하여 상대 O4에 속성 이름을 추가했음을 알 수 있습니다. 객체에서 속성 값에 액세스하는 두 가지 방법이 있습니다. 첫 번째는 도트 번호 (.)를 사용하는 것이고, 두 번째는 배열 (개체 이름 [속성 이름])을 사용하는 것입니다.
// 빈 개체 생성 var o = {}; // 두 가지 속성으로 객체를 만듭니다. x, y var o2 = {x : 12, y : '12', 이름 : 'js'}; //이 객체의 저자 속성 값은 여전히 객체입니다 var var o3 = {x : 12, 저자 : {이름 : 'js', age : 23, address : 'China'}}; // {} var o4 = new Object ()와 동일한 빈 객체를 만듭니다. // 이름 속성 추가 o4.name = 'js'/** 객체의 속성 값에 액세스하면*// 1. 포인트 번호 var x = o2.x; // 12 var authorofname = o3.author.name; // js var name = o4.name; // js // 2. 배열 방법 var x2 = o2 [ 'x']; // 12 var authorofname2 = o3 [ 'author'] [ 'name']; // js var name2 = o4 [ 'name']; // js도트 번호를 사용하여 객체의 속성 값에 액세스하는 방법을 이해하는 것이 더 쉽지만 배열 사용 방법을 이해하기는 쉽지 않습니다. JavaScript에서 모든 객체는 연관 배열입니다. 소위 연관성 데이터는 배열에 액세스하는 방법이지만이 방법은 사용 된 인덱스가 아니라 문자열 인덱스 (연관 배열이라고합니다.
위의 객체 속성 값은 모두 객체 속성 이름을 아는 것입니다. 객체 속성 값을 모르는 경우 어떻게해야합니까? 객체의 값을 통해 반복하기 위해/in을 사용할 수 있습니다.
// 두 가지 속성, x, y, name var o2 = {x : 12, y : '12', 이름 : 'js'}; for (p in o2) {var property = p; var 값 = o2 [p]; Console.log (속성); Console.log (값); }인쇄 결과는 다음과 같습니다.
x12y12namejs
총 세 가지 속성이 있으며 그 값이 인쇄되어 있음을 알 수 있습니다.
객체가 더 복잡한 경우 재산이 있는지 여부를 결정하기 위해 일부 판단을 추가 할 수 있습니다. 그렇다면 객체에 특정 속성이 포함되어 있는지 어떻게 결정합니까? 객체는 모든 객체를 상속하기 때문에 객체에 객체에 속성이 있는지 여부를 결정하기위한 hasownProperty () 메소드가 있습니다. 반환 값은 부울입니다. 이 메소드는 객체 자신의 속성이 존재하는지 여부를 판단하며 객체가 상속받은 속성을 판단하지 않습니다.
// 두 가지 속성, x, y, name var o2 = {x : 12, y : '12', 이름 : 'js'}; var b = o2.hasownproperty ( 'name') // true var b2 = o2.hasownproperty ( 'age') // false3. 속성을 추가하고 삭제합니다
처음에는 Object O4에 이름 속성을 추가했습니다. 새로운 메소드는 실제로 속성 값을 할당하는 것과 동일합니다. 연관 배열을 사용하여 객체에 속성을 추가 할 수도 있습니다.
// 두 가지 속성, x, y, name var o2 = {x : 12, y : '12', 이름 : 'js'}; // 이름 속성 삭제 삭제 o2.name; var b = o2.HasOwnProperty ( 'name') // false // 이름 속성 추가 o2 [ 'name'] = 'javaScript'; // 이름 속성이 이미 존재하기 때문에 여기에 이름을 재 할당하는 것이 있습니다 .name = 'js'; var b3 = o2.HasOwnProperty ( 'name'); //진실위의 객체 O2의 이름 속성이 삭제 된 다음 연관 배열을 사용하여 이름 속성을 추가 한 다음 DOT 번호를 사용하여 이름 속성을 재 할당했습니다.
4. 물체와 문자열 사이의 변환
ECMAScript5는 객체와 문자열 사이의 상호 변환이 내장되어 있습니다. 이제 대부분의 주류 브라우저는 ECMAScript5를 지원합니다. 지원하지 않으면 인터넷에서 json2.js 클래스 라이브러리를 다운로드 할 수 있습니다. 이 라이브러리는 파일에 소개 한 후 사용할 수 있습니다.
객체와 문자열 사이의 변환을 객체 직렬화라고하며, 이는 객체의 상태를 문자열로 변환하거나 문자열을 객체로 변환하는 것을 의미합니다. 이러한 변환은 JSON을 데이터 교환 형식으로 사용합니다. JSON의 전체 이름은 JavaScript 객체 표기법입니다.
json.stringify ()를 사용하여 객체를 문자열로 변환합니다. json.parse ()를 사용하여 문자열을 객체로 변환하십시오.
// 객체 정의 var o = {이름 : 'javaScript', age : 24}; //이 메소드는 오브젝트로 변환 할 때 오류입니다. 다음 방법을 사용해야합니다 // var str = "{이름 : 'JavaScript', Age : 24}"; // 객체 문자열을 올바르게 정의하십시오. var str = '{ "name": "javaScript", "age": 24}'; // 객체를 문자열로 변환 var str2 = json.stringify (o); console.log ( 'str2 :'+str2+', type :'+(typeof str2)); // str2 : { "name": "javaScript", "age": 24}, type : String // 문자열을 객체로 변환 var o2 = json.parse (str); console.log ( 'o2 :'+o2+', type :'+(O2)); // o2 : [Object Object], type : object위의 것은 물체와 문자열 사이의 상호 변환을 구현합니다.
JS에서 객체 사용에 대한 위의 간단한 논의는 내가 공유하는 모든 내용입니다. 나는 그것이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.