CVTE 사전 배치 필기시험 요약
5448 단어 총결산
window.history 객체
window.history 객체에는 브라우저의 이력이 포함됩니다.
script 태그의 async 속성
async 속성은 스크립트를 사용할 수 있으면 비동기적으로 실행합니다.
주석: async 속성은 외부 스크립트에만 적용됩니다. (src 속성을 사용할 때만 적용됩니다.)
async나 defer가 있는script는 페이지 해석을 막지 않고 선택할 수 있는 onload 이벤트 처리를 제공합니다. script 다운로드가 끝난 후에 호출됩니다. 이script와 관련된 초기화 작업을 하는 데 사용됩니다.그것의 차이점은 async가 다운로드가 완료되면 바로 실행하는 것이다. (window.onload 이벤트 이전에) 실행 순서를 확보하지 않고, defer는 js가 페이지에서의 순서대로 실행되는 것을 확보할 수 있다. (DOMContentLoaded 이벤트 이전에)
onload와 DOMContentLoaded의 차이
onload
이벤트가 터치되었을 때 페이지의 모든 DOM, 스타일시트, 스크립트, 그림, 플래시가 불러왔습니다.DOMContentLoaded
이벤트가 터치되었을 때 DOM이 불러올 때만 스타일시트, 그림, 플래시가 포함되지 않습니다.CORS
CORS는 W3C 표준으로 전체 이름이 도메인 간 자원 공유(Cross-origin resource sharing)로 브라우저가 소스 간 서버에
XMLHttpRequest
요청을 할 수 있도록 함으로써 AJAX가 동원으로만 사용할 수 있는 제한을 극복했다.CORS는 브라우저와 서버가 동시에 지원해야 하는데 개발자에게 CORS 통신은 동원된 AJAX 통신과 차이가 없고 코드가 똑같다.브라우저가 AJAX 요청이 소스를 뛰어넘는 것을 발견하면 자동으로 추가 헤더 정보를 추가하고, 때로는 추가 요청을 한 번 더 하기도 하지만, 사용자는 느끼지 못한다.따라서 CORS 통신을 실현하는 관건은 서버다.서버가 CORS 인터페이스를 구현하는 한 소스 간 통신이 가능합니다.
서버 측의 CORS 지원은 주로 Access-Control-Allow-Origin 설정을 통해 이루어집니다.브라우저에서 해당 설정을 감지하면 Ajax가 도메인 간 액세스를 허용할 수 있습니다.
단순 및 비단순 요청:
(1) 요청 방법은 다음 세 가지 방법 중 하나입니다.
(2) HTTP 헤더 정보는 다음 필드를 초과하지 않습니다.
application/x-www-form-urlencoded
,multipart/form-data
,text/plain
아래의 두 가지 조건을 동시에 만족시키면 간단한 요구에 속하고 상기 두 가지 조건을 동시에 만족시키지 않으면 비간단한 요구에 속한다.
간단한 요청의 경우 브라우저에서 직접 CORS 요청을 실행합니다.구체적으로 말하면 헤더 정보에
Origin
필드(Origin
를 추가하여 이번 요청이 어느 원본(프로토콜+도메인+포트)에서 왔는지 설명하는 것이다.서버는 이 값에 따라 이번 요청에 동의할지 여부를 결정합니다)Access-Control-Allow-Credentials
이 필드는 선택 사항입니다.이 값은 쿠키를 보낼 수 있는지 여부를 나타내는 부울 값입니다.기본적으로 쿠키는 CORS 요청에 포함되지 않습니다.
true
로 설정하면 서버에 명시적으로 라이센스가 부여되며, 쿠키는 요청에 포함돼 서버에 함께 보낼 수 있습니다.이 값도 true
로만 설정할 수 있습니다. 만약 서버가 브라우저로 쿠키를 보내지 않는다면 이 필드를 삭제하면 됩니다.JSONP와의 비교:
CORS는 JSONP와 동일한 용도로 사용되지만 JSONP보다 더 강력합니다.
JSONP는
GET
요청만 지원하고 CORS는 모든 종류의 HTTP 요청을 지원합니다.JSONP의 장점은 구식 브라우저를 지원하고 CORS가 지원되지 않는 사이트에 데이터를 요청할 수 있다는 점이다.jQuery의 aax 방법에서 기본적으로 쿠키가 없는 것을 요청합니다
페이지에 가장 많이 나타나는 탭과 그 횟수를 얻다
function getCount() {
var tags = document.getElementsByTagName('*');
var obj = {};
var max = 0;
var tag = '';
for(var i = 0; i < tags.length; i++) {
var item = tags[i].tagName;
if(obj[item]) {
obj[item]++;
if(max < obj[item]) {
max = obj[item]
tag = item + '';
}
}else {
obj[item] = 1;
}
}
console.log(max,tag);
}
템플릿 엔진
단순화:
function template(str) {
function replace(obj) {
var t = null;
for(var item in obj) {
reg = new RegExp(' + item + ' %>', 'ig');
t = (t || str).replace(reg, obj[item]);
console.log(t);
}
return t;
}
return replace;
}
var complite = template(' , , ');
var str = complite({
day : ' ',
weather : ' '
});
document.write(str);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 기본 사용법 요약 (2)StringBuilder 또는 StringBuffer를 사용할 때 append () 방법으로 텍스트를 추가하고 toString () 방법으로 연결된 전체 텍스트를 가져올 수 있습니다 3. Iterator를 사용합니다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.