js 에서 사용자 정의 대상, json 대상, json 문자열, 일반 js 대상

7741 단어
4.7 사용자 정의 대상
JS 는 내 장 된 대상 을 제외 하고 프로그램 이 자신 만 의 대상 을 정의 할 수 있 도록 합 니 다. JS 에서 대상 을 사용자 정의 하 는 방식 은 두 가지 가 있 습 니 다. 구조 기 를 통 해 대상 을 만 들 고 JSON 을 통 해 대상 을 만 듭 니 다.
 
4.7.1 구조 기 생 성 대상 (원생 JS 대상)
구조 기 는 일반적인 함수 입 니 다. 함수 에서 0 에서 N 개의 매개 변 수 를 정의 할 수 있 습 니 다. 구체 적 인 코드 는 다음 과 같 습 니 다.
/ * 대상 구조 기, 일반 함수 입 니 다 * /    function Student(stuName,age,password,gender){        /*정의 대상 의 속성 * /        this.stuName = stuName;         this.age = age;         this.password = password;         this.gender = gender;         /*대상 을 정의 하 는 방법 * /        this.study = function(){             console. log (this. stuName + "쓰 는 방법!")        }    }
 
4.7.1.1 창설 대상
/ / 이 대상 을 사용 합 니 다 / / var stu = new Student ("호 수", 18, "123456", 1);    var stu = new Student();     stu. stuName = "호 수";    stu.age = 18;     stu.gender = 1;     stu.password = "123456";
 
4.7.1.2 동적 추가 속성 과 행위
/ / 호 수 라 는 대상 에 게 동적 으로 속성 을 추가 해 야 한다 면    Student.prototype.address = null;     stu. address = "구안교 1 번 교 동!";    //만약 호 수 라 는 대상 에 게 동태 적 으로 행동 을 추가 해 야 한다 면    Student.prototype.playGame = function(game){         console. log (this. stuName + "[" + game + "] 게임!")    }
4.7.1.3 사용 대상
console. log (stu) stu. study (); / 호수 가 배 우 는 행동 stu. playGame ("독수리 가 병 아 리 를 잡는다"); / / 속성 console. log (stu. stuName) 를 호출 합 니 다.
 
4.7.2 대상 초기 화 기 방식 (JS 대상 생 성)
/ * 대상 초기 화 기 를 사용 하여 새 대상 만 들 기 * / var stu = {    /*정의 대상 의 속성 * /    stuName 이름: "호 수",    age: 18,     gender: 1,     password: "123456",     /*대상 의 행동 정의 * /    study: function () {         console. log (this. stuName + "게임 중 입 니 다!");    }};//학생 대상 console. log (stu. stuName) 를 사용 합 니 다. / / JS 대상 을 정의 합 니 다. 대상 속성 에는 다음 아내 와 같은 다른 대상 이 포 함 될 수 있 습 니 다. 예 를 들 어 아들 대상 의 배열 var person = {    userName: "호 수",    Wife: {userName: "Jo철퇴", age: 28},    sons: [{userName: "개자식"}, {username: "개자식"}, {username: "강아지 알"},    kiss: function () {         console. log (this. userName + "아내 에 게" + this. wife. userName + "동생, 폴 하나 주세요!!")    },     gun: function () {         console. log (this. userName + "아들 아, 진흙 놀 러 가자!!!")    }};
/ * 속성 호출 * / person. userName; person. wife. name;
person.sons[0].userName;  
/ * 행동 호출 * / person. gun (); person. kiss ();
 
4.7.2.1 JS 대상 의 형식
1. 모든 데 이 터 는 KV 키 로 구조 방식 에 존재 합 니 다. 2. KV 키 값 은 콜론 분할 을 사용 해 야 합 니 다. 각 쌍 의 KV 키 값 은 쉼표 로 분할 해 야 합 니 다. 3. 괄호 로 완전한 JS 대상 을 설명 합 니 다. 4. 중 괄호 로 완 성 된 배열 대상 을 설명 합 니 다.
 
4.7.2.2 JS 대상 사용
JS 대상 의 사용 은 매우 간단 합 니 다. 문법 은 다음 과 같 습 니 다. Object. 속성 명 | 방법 명 ();
 
이상 의 이러한 표기 법 은 원생 의 js 대상 을 더욱 간단 한 방식 으로 글 을 쓰 고 읽 기 쉬 우 며 데이터 로 전송 하지 않 고 쓰기 만 할 뿐이다.
 
4.7.3 JSON 소개
JSON 은 JS 에서 도 대상 의 설명 방식 입 니 다. 그 역할 은 XML 설명 대상 과 같 습 니 다. 다만 XML 설명 대상 이 더욱 복잡 하고 해석 하기 가 더욱 어렵 기 때문에 우 리 는 일반적으로 JSON 을 사용 하여 대상 을 설명 하 는 것 을 추천 합 니 다. 이것 은 경량급 텍스트 데이터 변환 형식 입 니 다.
 
이것 은 XML 과 흔히 볼 수 있 는 데이터 설명 수단 이지 만 차이 점 은 다음 과 같다.
1. XML 처럼 일련의 라벨 을 정의 할 필요 도 없고 해당 하 는 라벨 분석 프로그램 을 제공 할 필요 도 없다. 2. 그 내용 이 더욱 짧 고 작 으 며 전송 할 때 사용 하 는 네트워크 대가 가 매우 적 고 전송 속도 도 더욱 빠르다.
 
4.7.4 JSON 데이터 전송
      JSON 이 데이터 전송 형식 일 때 우 리 는 주의해 야 한다. JSON 형식의 데 이 터 는 키 가 맞 는 형식 이 며 방법 함 수 를 포함 할 수 없다. 동시에 키 는 두 개의 따옴표 로 포함 되 어야 한다. 값 은 수치 (10 진법), 문자열 (두 개의 따옴표) 일 수 있다."불 값 과 null 은 배열 일 수도 있 고 JSON 의 대상 에 부합 되 며 함수, NaN, Infinity, - infinity 와 undefined 일 수도 있 습 니 다. 전송 데 이 터 는 주로 이러한 명확 한 데이터 값 의 속성 을 저장 하고 속성 간 에 쉼표 를 사용 하기 때 문 입 니 다."격 리 되 어 있 으 며, 동시에 속성 은 마지막 으로 쉼표 가 있 을 수 없습니다. 다음 과 같은 형식의 표기 법 은 json 대상 이 라 고 부 르 지만, 그것 도 js 대상 입 니 다. json 대상 은 js 대상 의 표기 법 일 뿐 입 니 다.
예:
var data = {
    "name":"  ",
    "age":18,
    "brother":{ 
        "name":"  ",
        "age":18},
    "sister"::[{ 
        "name":"  ",
        "age":18},{ 
        "name":"  ",
        "age":18}]
}

이러한 JSON 형식의 대상 (JSON 대상) 은 json 형식의 데이터 전송 을 위 한 것 입 니 다. 메시지 형식 으로 서버 에 전송 되면 일반 JS 대상 을 사용 할 수 있 습 니 다. 방법 을 포함 하지 마 십시오. 예 를 들 어:
var person = {
    userName: "  ",
    age:30,
    wife: {userName: "   ", age: 28},
    sons: [{userName: "   "}, {userName: "   "}, {userName: "   "}]
};

구별
JSON
Javascript 개체
속뜻
단지 하나의 데이터 형식 일 뿐이다
클래스 의 인 스 턴 스, 자바 script 의 참조 형식 을 표시 합 니 다.
전송
크로스 플랫폼 데이터 전송 이 가능 하고 속도 가 빠 르 며 json 형식 으로 전송 할 수 있 습 니 다: application / json, json 문자열 형식 으로 ajax 를 이용 합 니 다.
서버 에 메시지 형식 으로 보 낼 수 있 습 니 다: multipart / form - data, ajax 를 이용 하여 전송 대상
나타내다
1. 그야말로 방식 에 맞 게 키 는 쌍 따옴표 2. 값 은 수치 (10 진수), 문자열 (쌍 따옴표), 불 값 과 null 일 수도 있 고 배열 일 수도 있 습 니 다. JSON 에 부합 되 는 대상 은 방법 함수 일 수 없습니다. NaN, Infinity, - infinity 와 undefined 3. 마지막 값 뒤에 쉼표 가 있 으 면 안 됩 니 다.
1. 키 쌍 방식, 키 는 작은 따옴표, 작은 따옴표, 2 를 추가 하지 않 아 도 됩 니 다. 값 은 함수, 대상, 문자열, 숫자, boolean 등 자바 script 의 임 의 값 3. 쉼표 가 있 을 수 있 습 니 다.
상호 전환
JSon 문자열 변환 JS 대상 1. JSON. parse (JSonStr); (IE7 호 환 되 지 않 음) 2. eval ("(" + jsonStr + ")"); (모든 브 라 우 저 를 호 환 하지만 안전 하지 않 습 니 다. json 의 표현 식 을 실행 합 니까?)
js 대상 변환 JSON 문자열 JSON. stringify (jsObj);
주: json 은 하나의 형식 일 뿐 json 대상 은 정 해진 규칙 에 따라 쓴 js 대상 이 고 json 대상 은 js 대상 이다.
 
JSON 개체 호출
JS 대상 의 호출 방식 과 같 습 니 다. 문법 은 다음 과 같 습 니 다.
jsonObject. 속성 명
//      json  
console.log(data.name);//     

 
JSON 형식의 문자열 과 JSON 대상
JSON 형식의 문자열:
(쉽게 말 하면 json 대상 밖에서 작은 따옴표 를 감 싸 서 문자열 로 바 꾸 는 것 입 니 다. (속성 은 작은 따옴표 로 감 싸 야 합 니 다) 브 라 우 저 콘 솔 에서 console. log () 를 이용 하여 이 문자열 을 인쇄 하여 다음 과 같은 형식 으로 표시 합 니 다. (json 대상 이 작성 한 코드 스타일)
{"docName":" ","age":18,"page":1,"rows":5}  

  예:
var txt = '{ "employees" : [' +
'{ "firstName":"Bill" , "lastName":"Gates" },' +
'{ "firstName":"George" , "lastName":"Bush" },' +
'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';

JSON 문법 은 JavaScript 문법 부분 집합 으로 JavaScript 함수 eval () 은 JSON 텍스트 를 JavaScript 대상 으로 변환 하 는 데 사용 할 수 있 습 니 다.
var obj = eval ("(" + txt + ")");

대상 으로 전환 하면 대상 의 호출 방식 으로 값 을 추출 할 수 있 습 니 다. 배경 에 제 이 슨 형식의 문자열 이 전 송 될 수 있 기 때문에 이런 방식 으로 해석 해 야 합 니 다.
주: ie8 (호 환 모드), ie7 과 ie6 도 eval () 을 사용 하여 문자열 을 JSON 대상 으로 바 꿀 수 있 지만 이 방식 을 추천 하지 않 습 니 다. 이 방식 은 안전 하지 않 습 니 다. eval 은 json 문자열 의 표현 식 을 실행 합 니 다.
 
1. jQuery 플러그 인 이 지원 하 는 변환 방식
$. parseJSON (jsonstr); / jQuery. parseJSON (jsonstr), json 문자열 을 js 대상 으로 변환 할 수 있 습 니 다. json 형식의 문자열 이 어야 합 니 다.
2. jquery. json. js 플러그 인 이 지원 하 는 변환 방식
$. toJSON (jsonobj); / / js 대상 을 json 문자열 로 변환 할 수 있 습 니 다. 
3. 브 라 우 저가 지원 하 는 변환 방식 (Firefox, chrome, opera, safari, ie9, ie8) 등 브 라 우 저:
JSON. parse (jsonstr); / / json 문자열 을 js 대상 으로 변환 할 수 있 습 니 다. ,json 형식의 문자열 JSON. stringify (jsonobj) 여야 합 니 다. / / js 대상 을 json 문자열 로 변환 할 수 있 습 니 다. 
 
JSON. stringify 함수
역할: 대상 을 JSON 문자열 로 변환 하기 때문에 속성 값 이 JSON 에 맞지 않 는 필드 를 무시 합 니 다.
var test = {
     one : 'Good',
    'two' : 'Man',
    'three' : undefined,
    'four' : [ 1, 2 ],
    'five' : function() {
        return 'test'
    } 
}

JSON.stringify(test); //'{"one":"Good","two":"Man","four":[1,2]}'

좋은 웹페이지 즐겨찾기