yourself_javascript 기술로 캡슐화된 일반적인 JavaScript 기능을 공유하세요
자주 사용하는 기능이므로 여기서는 장황하게 설명하지 않겠습니다. 직접 보시면 이해하실 겁니다.
코드 제공:
//쿠키
함수 setCookie(이름, 값, iDay)
{
if(iDay!==false)
{
var oDate=new Date();
oDate.setDate(oDate.getDate() iDay);
document.cookie=이름 '=' 값 ';expires=' oDate ';경로=/';
}
그 외
{
document.cookie=이름 '=' 값;
}
}
함수 getCookie(이름)
{
var arr=document.cookie.split('; ');
var i=0;
for(i=0;i
var arr2=arr[i].split('=');
if(arr2[0]==이름)
{
return arr2[1];
}
}
반환 '';
}
기능 제거쿠키(이름)
{
setCookie(이름, 'a', -1);
}
//사건
함수 myAddEvent(obj, ev, fn){
obj.attachEvent?obj.attachEvent('on' ev, fn):obj.addEventListener(ev, fn, false);
}
함수 myDelEvent(obj, ev, fn){
obj.detachEvent?obj.detachEvent('on' ev, fn):obj.removeEventListener(ev, fn, false);
}
함수 getByClass(oParent, sClass)
{
var aEle=oParent.getElementsByTagName('*');
var re=new RegExp('\b' sClass '\b', 'i');
var aResult=[];
for(var i=0;i
if(re.test(aEle[i].className))
{
aResult.push(aEle[i]);
}
}
결과를 반환합니다.
}
함수 바인드이벤트(obj, ev, fn)
{
obj.addEventListener?obj.addEventListener(ev, fn, false):obj.attachEvent('on' ev, fn);
}
함수 unbindEvent(obj, ev, fn)
{
obj.removeEventListener?obj.removeEventListener(ev, fn, false):obj.detachEvent('on' ev, fn);
}
//생성随机数
함수 rnd(n, m)
{
return Math.random()*(m-n) n;
}
함수 time2date(t)
{
함수 d(n){return n<10?'0' n:'' n;}
var oDate=new Date(t*1000);
return oDate.getFullYear() '-' d(oDate.getMonth() 1) '-' d(oDate.getDate()) ' ' d(oDate.getHours()) ':' d(oDate.getMinutes()) ':' d(oDate.getSeconds());
}
함수시간2일(t)
{
함수 d(n){return n<10?'0' n:'' n;}
var oDate=new Date(t*1000);
return oDate.getFullYear() '-' d(oDate.getMonth() 1) '-' d(oDate.getDate());
}
//拖拽
함수 드래그(objEv, objMove, fnMoveCallBack)
{
var disX=0,disY=0;
objEv.onmousedown=함수(ev)
{
var oEvent=ev||이벤트;
disX=(document.documentElement.scrollLeft||document.body.scrollLeft) oEvent.clientX-objMove.offsetLeft;
disY=(document.documentElement.scrollTop||document.body.scrollTop) oEvent.clientY-objMove.offsetTop;
if(objEv.setCapture)
{
objEv.onmousemove=fnMove;
objEv.onmouseup=fnUp;
objEv.setCapture();
}
그 외
{
document.onmousemove=fnMove;
document.onmouseup=fnUp;
false를 반환합니다.
}
};
함수 fnMove(ev)
{
var oEvent=ev||이벤트;
var l=(document.documentElement.scrollLeft||document.body.scrollLeft) oEvent.clientX-disX;
var t=(document.documentElement.scrollTop||document.body.scrollTop) oEvent.clientY-disY;
fnMoveCallBack(l,t);
}
함수 fnUp()
{
this.onmousemove=null;
this.onmouseup=null;
if(this.releaseCapture)this.releaseCapture();
}
}
함수 mouseScroll(obj, fnCallBack)
{
binEvent(obj, 'mousewheel', fnScroll);
binEvent(obj, 'DOMMouseScroll', fnScroll);
함수 fnScroll(ev)
{
var oEvent=ev||이벤트;
var bDown;
if(oEvent.wheelDelta)
{
bDown=oEvent.wheelDelta<0;
}
그 외
{
bDown=oEvent.detail>0;
}
fnCallBack(bDown);
if(oEvent.preventDefault)oEvent.preventDefault();
false를 반환합니다.
}
}
//摆动运动
zns.site.fx.swing=기능(obj, cur, target, fnDo, fnEnd, acc)
{
if(zns.site.fx.browser_test.IE6)
{
fnDo&&fnDo.call(obj, target);
fnEnd&&fnEnd.call(obj, 대상);
반품;
}
if(!acc)acc=0.1;
var now={};
var x=0; //0-100
if(!obj.__swing_v)obj.__swing_v=0;
if(!obj.__last_timer)obj.__last_timer=0;
var t=new Date().getTime();
if(t-obj.__last_timer>20)
{
fnMove();
obj.__last_timer=t;
}
ClearInterval(obj.timer);
obj.timer=setInterval(fnMove, 20);
함수 fnMove(){
if(x<50)
{
obj.__swing_v =acc;
}
그 외
{
obj.__swing_v-=acc;
}
//if(Math.abs(obj.__flex_v)>MAX_SPEED)obj.__flex_v=obj.__flex_v>0?MAX_SPEED:-MAX_SPEED;
x =obj.__swing_v;
//alert(x ',' obj.__swing_v);
for(var i in cur)
{
지금[i]=(대상[i]-cur[i])*x/100 현재[i];
}
if(fnDo)fnDo.call(obj, 지금);
if(/*Math.abs(obj.__swing_v)<1 || */Math.abs(100-x)<1)
{
ClearInterval(obj.timer);
if(fnEnd)fnEnd.call(obj, target);
obj.__swing_v=0;
}
}
};
//弹性运动
zns.site.fx.flex=함수(obj, cur, target, fnDo, fnEnd, fs, ms)
{
if(zns.site.fx.browser_test.IE6)
{
fnDo&&fnDo.call(obj, target);
fnEnd&&fnEnd.call(obj, 대상);
반품;
}
var MAX_SPEED=16;
if(!fs)fs=6;
if(!ms)ms=0.75;
var now={};
var x=0; //0-100
if(!obj.__flex_v)obj.__flex_v=0;
if(!obj.__last_timer)obj.__last_timer=0;
var t=new Date().getTime();
if(t-obj.__last_timer>20)
{
fnMove();
obj.__last_timer=t;
}
ClearInterval(obj.timer);
obj.timer=setInterval(fnMove, 20);
함수 fnMove(){
obj.__flex_v =(100-x)/fs;
obj.__flex_v*=ms;
if(Math.abs(obj.__flex_v)>MAX_SPEED)obj.__flex_v=obj.__flex_v>0?MAX_SPEED:-MAX_SPEED;
x =obj.__flex_v;
for(var i in cur)
{
지금[i]=(대상[i]-cur[i])*x/100 현재[i];
}
if(fnDo)fnDo.call(obj, 지금);
if(Math.abs(obj.__flex_v)<1 && Math.abs(100-x)<1)
{
ClearInterval(obj.timer);
if(fnEnd)fnEnd.call(obj, target);
obj.__flex_v=0;
}
}
};

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











Go 언어는 클로저와 리플렉션이라는 두 가지 동적 함수 생성 기술을 제공합니다. 클로저는 클로저 범위 내의 변수에 대한 액세스를 허용하며 리플렉션은 FuncOf 함수를 사용하여 새 함수를 생성할 수 있습니다. 이러한 기술은 HTTP 라우터를 사용자 정의하고 고도로 사용자 정의 가능한 시스템을 구현하며 플러그 가능한 구성 요소를 구축하는 데 유용합니다.

C++ 함수 이름 지정에서는 가독성을 높이고 오류를 줄이며 리팩토링을 용이하게 하기 위해 매개변수 순서를 고려하는 것이 중요합니다. 일반적인 매개변수 순서 규칙에는 작업-객체, 개체-작업, 의미론적 의미 및 표준 라이브러리 준수가 포함됩니다. 최적의 순서는 함수의 목적, 매개변수 유형, 잠재적인 혼동 및 언어 규칙에 따라 달라집니다.

효율적이고 유지 관리 가능한 Java 함수를 작성하는 핵심은 단순함을 유지하는 것입니다. 의미 있는 이름을 사용하세요. 특별한 상황을 처리합니다. 적절한 가시성을 사용하십시오.

1. SUM 함수는 열이나 셀 그룹의 숫자를 합하는 데 사용됩니다(예: =SUM(A1:J10)). 2. AVERAGE 함수는 열이나 셀 그룹에 있는 숫자의 평균을 계산하는 데 사용됩니다(예: =AVERAGE(A1:A10)). 3. COUNT 함수, 열이나 셀 그룹의 숫자나 텍스트 수를 세는 데 사용됩니다. 예: =COUNT(A1:A10) 4. IF 함수, 지정된 조건을 기반으로 논리적 판단을 내리고 결과를 반환하는 데 사용됩니다. 해당 결과.

C++ 함수에서 기본 매개변수의 장점에는 호출 단순화, 가독성 향상, 오류 방지 등이 있습니다. 단점은 제한된 유연성과 명명 제한입니다. 가변 매개변수의 장점에는 무제한의 유연성과 동적 바인딩이 포함됩니다. 단점은 더 큰 복잡성, 암시적 유형 변환 및 디버깅의 어려움을 포함합니다.

C++에서 참조 유형을 반환하는 함수의 이점은 다음과 같습니다. 성능 개선: 참조로 전달하면 객체 복사가 방지되므로 메모리와 시간이 절약됩니다. 직접 수정: 호출자는 반환된 참조 객체를 다시 할당하지 않고 직접 수정할 수 있습니다. 코드 단순성: 참조로 전달하면 코드가 단순화되고 추가 할당 작업이 필요하지 않습니다.

이 웹사이트는 7월 9일에 AMD Zen5 아키텍처 "Strix" 시리즈 프로세서에 두 가지 패키징 솔루션이 있을 것이라고 보고했습니다. 더 작은 StrixPoint는 FP8 패키지를 사용하고 StrixHalo는 FP11 패키지를 사용합니다. 출처: videocardz 출처 @Olrak29_ 최근 밝혀진 바에 따르면 StrixHalo의 FP11 패키지 크기는 37.5mm*45mm(1687제곱밀리미터)로 Intel의 AlderLake 및 RaptorLake CPU의 LGA-1700 패키지 크기와 동일합니다. AMD의 최신 Phoenix APU는 25*40mm 크기의 FP8 패키징 솔루션을 사용합니다. 이는 StrixHalo의 F가

사용자 정의 PHP 함수와 사전 정의된 함수의 차이점은 다음과 같습니다. 범위: 사용자 정의 함수는 정의 범위로 제한되는 반면, 사전 정의된 함수는 스크립트 전체에서 액세스할 수 있습니다. 정의 방법: 사용자 정의 함수는 function 키워드를 사용하여 정의되는 반면, 사전 정의된 함수는 PHP 커널에 의해 정의됩니다. 매개변수 전달: 사용자 정의 함수는 매개변수를 수신하지만 사전 정의된 함수에는 매개변수가 필요하지 않을 수 있습니다. 확장성: 필요에 따라 사용자 정의 함수를 생성할 수 있으며 사전 정의된 함수는 내장되어 있어 수정할 수 없습니다.
