JavaScript 로그 작업 개체 인스턴스
이제 JavaScript 로그 작업 객체의 인스턴스를 구현하기 위해 배운 지식을 종합적으로 활용해 보겠습니다.
myLog.js: 주요 기능은 myLogger 생성자를 빌드하는 것입니다. 행 추가, 노드 추가, CSS 컨트롤.
LD.js: 주요 기능은 스크립트 및 문자열에 대한 규칙을 공식화하고, 네임스페이스를 구성하고, Id 및 className을 기반으로 객체를 검색하는 것입니다.
test.js: 주요 기능은 양식에 이벤트를 추가하고 mylog에서 일부 기능의 가용성을 테스트하는 것입니다.
Log.html: 로그 개체를 표시하는 데 사용됩니다.
각 파일의 코드는 다음과 같습니다.
test.js
[javascript] view plaincopyprint?//윈도우 객체에 로드 이벤트 추가
LD .addEvent( window,'load',function(){
LD.log.writeRaw('원시 파일입니다.');
LD.log.writeRaw('굵게 표시되어 있습니다! ');
LD.log.header('헤더 포함')
LD.log.write('쓰기 소스:굵게 표시됨 !');
for(i in document){
LD.log.write(i) 로드 이벤트 추가
LD.addEvent(window,'load' ,function(){
LD.log.writeRaw('이것은 원시입니다.');
LD.log.writeRaw(' 굵게 표시됩니다!');
LD.log.write('쓰기 소스:굵은 글씨입니다!'); //로그 양식 참조 //UL 사용 //식별을 위한 ID 추가 //양식의 CSS 스타일 제어 //양식 추가 페이지로 이동 //로그 양식에 한 줄 추가 //양식의 CSS 스타일 제어 // 확인 메시지 정보 //li에 텍스트 노드를 추가합니다. if(!String.repeat){ if(!String.trim){ (function(){ 요약 이 작은 예는 기본 지원, 객체 지향, 프로토타입, 객체 리터럴, this 및 역할을 포함하여 이전에 배운 내용을 기본적으로 결합합니다. 도메인과 같은 모든 지식 포인트 자바스크립트 학습의 요약이라고 볼 수 있는 체인이 포함되어 있습니다.
for(i in document){
LD.log.write (i);
}
});myLog.js[javascript] view plaincopyprint?//JavaScript 문서
//myLogger 생성자
function myLogger(id){
id =id||"ICLogWindow";
//로그 창 참조
var logWindow=null;
//로그 창 생성
var createWindow=function(){
var browserWindowSize = LD.getBrowserWindowSize();
var top=(browserWindowSize.height-200)/2||0
var left=(browserWindowSize.width-200)/2||0 ; >
//UL 사용
logWindow=document.createElement("UL");
//문서 아래에 dom 개체 UL을 추가합니다.
//식별을 위한 ID 추가 Logwindow.SetATTRIBUTE ("ID", ID);
// CSS 스타일 제어
logwindow.style.position = 'absolute'
logwindow.style.top = top+'px'; 🎜> logWindow.style.left+'px';
logWindow.style.width='200px'; 🎜 > logWindow.style.overflow='scroll'; Window.style.border=' 1px 단색 black';
//페이지에 양식 추가
document.body.appendChild(logWindow)
} }
//로그 양식에 한 줄 추가
this.writeRaw=function(메시지){
| ';
li.style. border='0';
li.style.borderBottom='1px 점선 검정';
li.style.margin='0'
li.style.color='#000'; >
~
li.appendChild(
document.createTextNode('메시지가 정의되지 않았습니다.')
)
}else if(typeof li.innerHTML!=undefine){
//이것은 또 다른 A입니다. li.innerHTML=message 표현 방법;
}else{
li.appendChild(
document.createTextNode(message) appendChild(li );
단순 처리
함수(MESSAGE) {
If (Typeof Message == 'String' &&LENGE.Length == 0) {
반환 writeRaw('입력된 정보 없음'); 🎜> return this.writeRaw(message.toString());
// HTML 태그에 로그인하는 것보다
Message = message.replace(/& lt;/g, "& lt; "). 교체 (/& gt;/g, "" & gt; "); > header:function(message){
message=''+메시지+''
. JavaScript 문서
//myLogger 생성자
myLogger(id) {
id=id||"ICLogWindow";
var logWindow=null;
//로그 양식 생성
var createWindow=function(){
var browserWindowSize = LD.getBrowserWindowSize();
var top=(browserWindowSize.height-200)/2||0;
var left=(browserWindowSize.width-200)/2||0;
logWindow= document.createElement("UL");
//문서 아래에 dom 객체 UL을 추가합니다
logWindow.setAttribute("id",id)
logWindow.style.position='absolute';
logWindow.style.top=top+'px';
logWindow.style.left =left+' px';
logWindow.style.width='200px';
logWindow.style.height='200px';
logWindow.style.overflow='scroll';
logWindow.style.padding='0';
logWindow.style.margin='0';
logWindow.style.border='1px 단색 검정색';
logWindow.style.BackgroundColor ='흰색 ';
logWindow.style.listStyle='none';
logWindow.style.font='10px/10px Verdana, Tahoma, Sans';
document.body.appendChild(logWindow);
}
this.writeRaw=function(message){
/ / 초기 양식이 없으면 로그 양식을 생성합니다
if(!logWindow){
createWindow();
}
//li의 dom 노드 생성
var li =document.createElement ('LI');
li.style.padding='2px';
li.style.border= '0';
li.style.borderBottom='1px dotted black';
li.style.margin='0';
li.style.color='#000';
if(메시지 유형 == '정의되지 않음'){
li.appendChild(
document.createTextNode('메시지가 정의되지 않았습니다.')
);
}else if(typeof li.innerHTML!=undefine){
//이것은 또 다른 표현식입니다. 이런 식으로
li.innerHTML=message;
}else{
li.appendChild (
document.createTextNode(message)
);
}
logWindow.appendChild( li);
return true;
};
}
//객체 리터럴 형식으로 권한 있는 메서드 선언
//로그 양식에 한 줄 추가 및 입력 내용 추가 단순 처리
myLogger.prototype={
write:function(message){
if(typeof message=='string' && message.length==0){
writeRaw를 반환합니다. ('입력된 정보 없음');
}
if(typeof message !='string'){
if(message.toString){
return this.writeRaw(message.toString ());
}else{
return this.writeRaw(typeof message);
}
}
//보다 큼 및 미만을 HTML 태그로 변환
메시지 =message.replace(/,"/g,">");
return this.writeRaw(message);
},
헤더:기능(메시지){
메시지=''+message+'';
return this.writeRaw(message);
}
};
window['LD']['log'] = new myLogger();LD.js[javascript ] view plaincopyprint?// JavaScript 문서
if(document.all && !document.getElementById){
document.getElementById=function(id){
return document.all[id]
}
}
if(!String.repeat){
String.prototype.repeat=function(l){
return new Array(l+1).join(this); > ,'''); > function $(){
var elements=new Array()
//arguments 현재 함수의 매개변수 배열입니다. 매개변수
for(var i=0;i
element=document.getElementById(element); 반품 요소;
elements.push(요소);
. 🎜> function getElementsByClassName(className,tag){
parent=parent || document; 🎜>
🎜> //var AllTags = document.GetelementsBytagname (tag)
// 태그를 필터링하고 TAG 개체를 모두 가져옵니다.
var allTags = (tag == "*" && "&&ALL) ? Parent.all: Parentt .getElementsByTagName(tag);
var matchElements=new Array(); regex=new RegExp(" (^|\s)"+className+ "(\s|$)"); > ; element=allTags[i] ~ 배열
return matchElements;
}
window['LD']['getElementsByClassName']=getElementsByClassName; ojb, func){
반환 함수(){
func.apply(obj,arguments); dFunction;
function getBrowserWindowSize(){
var de=document.documentElement; > 반환{
'너비':(
window.innerWidth
|| document.body.clientWidth),
'heigth':(
window.innerHeight
|| (de && de.clientHeight)
|| de && document.body.clientHeight)
}
};
//注册本事件
window['LD']['getBrowserWindowSize']=getBrowserWindowSize;
function addEvent(node,type,listener){
if(!(node=$(node))) return false;
if(node.addEventListener){
node.addEventListener(type,listener,false);
true를 반환합니다.
}else if(node.attachEvent){
노드['e'+type+listener]=리스너;
node[type+listener]=function(){node['e'+type+listener](window.event);}
node.attachEvent('on'+type, node[type+listener] );
true를 반환합니다.
}
false를 반환합니다.
};
//注册本事件
window['LD']['addEvent']=addEvent;
})();
// 자바스크립트 문서
if(document.all && !document.getElementById){
document.getElementById=function(id){
return document.all[id];
}
}
String.prototype.repeat=function(l){
return new Array(l+1).join(this);
}
}
String.prototype.trim=function(){
return this.replace(/^s+|+$/g, '');
}
}
//네임스페이스 구성
window['LD']={} ;
function $(){
var elements=new Array() ;
//현재 함수의 인수 매개변수 배열
for(var i=0;i
if (요소 유형=='string'){
요소=document.getElementById(element);
}
if(arguments.length==1){
return element;
}
elements.push(element);
}
return elements;
}
//네임스페이스 등록
window['LD']['$']=$;
function getElementsByClassName(className,tag){
parent=parent || document;
if(!(parent=$(parent))) return false;
// var allTags=document.getElementsByTagName(tag);
//태그를 필터링하고 모든 태그 객체 제거
var allTags=(tag == "*" && parent.all) ? parent.getElementsByTagName( tag);
var matchElements=new Array();
className=className.replace(/-/g,"\-");
var regex=new RegExp("(^| \s)"+className+ "(\s|$)");
var 요소;
for(var i=0;i
if(regex.test(element.className)){
matchElements.push(element);
}
}
/ /이 배열 반환
matchElements 반환;
}
window['LD']['getElementsByClassName']=getElementsByClassName;
함수 바인딩Function(ojb,func){
반환 함수(){
func.apply(obj,arguments);
}
};
window['LD']['bindFunction']=bindFunction;
function getBrowserWindowSize( ){
var de=document.documentElement;
return{
'width':(
window.innerWidth
|| (de && de.clientWidth)
|| document.body.clientWidth),
'heigth':(
window.innerHeight
|| (de && de.clientHeight)
|| de && document.body.clientHeight)
}
};
//이 이벤트 등록
window['LD']['getBrowserWindowSize']=getBrowserWindowSize;
function addEvent(node,type,listener){
if(!(node= $(node))) return false;
if(node.addEventListener){
node.addEventListener(type,listener,false);
return true;
}else if(node .attachEvent){
node['e'+type+listener]=listener;
node[type+listener]=function(){node['e'+type+listener] (window.event); }
node.attachEvent('on'+type, node[type+listener]);
return true;
}
return false;
};
//등록 이벤트
window['LD']['addEvent']=addEvent;
})() 작업 결과:

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











WebSocket 및 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법 소개: 지속적인 기술 개발로 음성 인식 기술은 인공 지능 분야의 중요한 부분이 되었습니다. WebSocket과 JavaScript를 기반으로 한 온라인 음성 인식 시스템은 낮은 대기 시간, 실시간, 크로스 플랫폼이라는 특징을 갖고 있으며 널리 사용되는 솔루션이 되었습니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법을 소개합니다.

WebSocket과 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 서론: 인터넷 기술의 급속한 발전과 함께 실시간 모니터링 시스템이 다양한 분야에서 널리 활용되고 있다. 실시간 모니터링을 구현하는 핵심 기술 중 하나는 WebSocket과 JavaScript의 조합입니다. 이 기사에서는 실시간 모니터링 시스템에서 WebSocket 및 JavaScript의 적용을 소개하고 코드 예제를 제공하며 구현 원칙을 자세히 설명합니다. 1. 웹소켓 기술

WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법 오늘날의 디지털 시대에는 점점 더 많은 기업과 서비스에서 온라인 예약 기능을 제공해야 합니다. 효율적인 실시간 온라인 예약 시스템을 구현하는 것이 중요합니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. WebSocket이란 무엇입니까? WebSocket은 단일 TCP 연결의 전이중 방식입니다.

JavaScript 및 WebSocket을 사용하여 실시간 온라인 주문 시스템을 구현하는 방법 소개: 인터넷의 대중화와 기술의 발전으로 점점 더 많은 레스토랑에서 온라인 주문 서비스를 제공하기 시작했습니다. 실시간 온라인 주문 시스템을 구현하기 위해 JavaScript 및 WebSocket 기술을 사용할 수 있습니다. WebSocket은 TCP 프로토콜을 기반으로 하는 전이중 통신 프로토콜로 클라이언트와 서버 간의 실시간 양방향 통신을 실현할 수 있습니다. 실시간 온라인 주문 시스템에서는 사용자가 요리를 선택하고 주문을 하면

JavaScript 및 WebSocket: 효율적인 실시간 일기 예보 시스템 구축 소개: 오늘날 일기 예보의 정확성은 일상 생활과 의사 결정에 매우 중요합니다. 기술이 발전함에 따라 우리는 날씨 데이터를 실시간으로 획득함으로써 보다 정확하고 신뢰할 수 있는 일기예보를 제공할 수 있습니다. 이 기사에서는 JavaScript 및 WebSocket 기술을 사용하여 효율적인 실시간 일기 예보 시스템을 구축하는 방법을 알아봅니다. 이 문서에서는 특정 코드 예제를 통해 구현 프로세스를 보여줍니다. 우리

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

사용법: JavaScript에서 insertBefore() 메서드는 DOM 트리에 새 노드를 삽입하는 데 사용됩니다. 이 방법에는 삽입할 새 노드와 참조 노드(즉, 새 노드가 삽입될 노드)라는 두 가지 매개 변수가 필요합니다.

JavaScript에서 HTTP 상태 코드를 얻는 방법 소개: 프런트 엔드 개발에서 우리는 종종 백엔드 인터페이스와의 상호 작용을 처리해야 하며 HTTP 상태 코드는 매우 중요한 부분입니다. HTTP 상태 코드를 이해하고 얻는 것은 인터페이스에서 반환된 데이터를 더 잘 처리하는 데 도움이 됩니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. HTTP 상태 코드란 무엇입니까? HTTP 상태 코드는 브라우저가 서버에 요청을 시작할 때 서비스가
