Yourself_JavaScript スキルによってカプセル化された一般的な JavaScript 関数を共有する
これらは一般的に使用される関数なので、ここではあまり意味のないことには触れません。実際に見てみれば理解できるでしょう。
コードを入力してください:
//クッキー
関数 setCookie(名前, 値, iDay)
{
if(iDay!==false)
{
var oDate=new Date();
oDate.setDate(oDate.getDate() iDay);
document.cookie=名前 '=' 値 ';expires=' oDate ';path=/';
}
それ以外
{
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];
}
}
'';
を返します }
関数removeCookie(name)
{
setCookie(name, '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]);
}
}
Result を返します;
}
関数bindEvent(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)
{
function d(n){return n var oDate=新しい日付(t*1000);
return oDate.getFull Year() '-' d(oDate.getMonth() 1) '-' d(oDate.getDate()) ' ' d(oDate.getHours()) ':' d(oDate.getMinutes()) ':' d(oDate.getSeconds());
}
関数 time2day(t)
{
function d(n){return n var oDate=新しい日付(t*1000);
return oDate.getFull Year() '-' 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)
{
bindEvent(obj, 'マウスホイール', fnScroll);
bindEvent(obj, 'DOMMouseScroll', fnScroll);
関数 fnScroll(ev)
{
var oEvent=ev||イベント;
var bDown;
if(oEvent.wheelDelta)
{
bDown=oEvent.wheelDelta }
それ以外
{
bDown=oEvent.detail>0;
}
fnCallBack(bDown);
if(oEvent.preventDefault)oEvent.preventDefault();
false を返します;
}
}
//摆アニメーション
zns.site.fx.swing=function (obj、cur、target、fnDo、fnEnd、acc)
{
if(zns.site.fx.browser_test.IE6)
{
fnDo&&fnDo.call(obj, target);
fnEnd&&fnEnd.call(obj, target);
戻る;
}
if(!acc)acc=0.1;
var now={};
変数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 {
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)
{
now[i]=(target[i]-cur[i])*x/100 cur[i];
}
if(fnDo)fnDo.call(obj, now);
if(/*Math.abs(obj.__swing_v) {
clearInterval(obj.timer);
if(fnEnd)fnEnd.call(obj, target);
obj.__swing_v=0;
}
}
};
//弹性运動
zns.site.fx.flex=function (obj, cur, target, fnDo, fnEnd, fs, ms)
{
if(zns.site.fx.browser_test.IE6)
{
fnDo&&fnDo.call(obj, target);
fnEnd&&fnEnd.call(obj, target);
return;
}
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);
function 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)
{
now[i]=(target[i]-cur[i])*x/100 cur[i];
}
if(fnDo)fnDo.call(obj, now);
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
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Go 言語は、クロージャとリフレクションという 2 つの動的関数作成テクノロジを提供します。クロージャを使用すると、クロージャ スコープ内の変数にアクセスでき、リフレクションでは FuncOf 関数を使用して新しい関数を作成できます。これらのテクノロジーは、HTTP ルーターのカスタマイズ、高度にカスタマイズ可能なシステムの実装、プラグイン可能なコンポーネントの構築に役立ちます。

C++ 関数の名前付けでは、読みやすさを向上させ、エラーを減らし、リファクタリングを容易にするために、パラメーターの順序を考慮することが重要です。一般的なパラメータの順序規則には、アクション-オブジェクト、オブジェクト-アクション、意味論的な意味、および標準ライブラリへの準拠が含まれます。最適な順序は、関数の目的、パラメーターの種類、潜在的な混乱、および言語規約によって異なります。

効率的で保守しやすい Java 関数を作成するための鍵は、シンプルに保つことです。意味のある名前を付けてください。特殊な状況に対処します。適切な可視性を使用してください。

1. SUM 関数は、列またはセルのグループ内の数値を合計するために使用されます (例: =SUM(A1:J10))。 2. AVERAGE 関数は、列またはセルのグループ内の数値の平均を計算するために使用されます (例: =AVERAGE(A1:A10))。 3. COUNT 関数。列またはセルのグループ内の数値またはテキストの数をカウントするために使用されます。例: =COUNT(A1:A10)。 4. IF 関数。指定された条件に基づいて論理的な判断を行い、結果を返すために使用されます。対応する結果。

C++ 関数のデフォルト パラメーターの利点には、呼び出しの簡素化、可読性の向上、エラーの回避などがあります。欠点は、柔軟性が限られていることと、名前の制限があることです。可変引数パラメーターの利点には、無制限の柔軟性と動的バインディングが含まれます。欠点としては、複雑さの増大、暗黙的な型変換、デバッグの難しさなどが挙げられます。

C++ で参照型を返す関数の利点は次のとおりです。 パフォーマンスの向上: 参照による受け渡しによりオブジェクトのコピーが回避され、メモリと時間が節約されます。直接変更: 呼び出し元は、返された参照オブジェクトを再割り当てせずに直接変更できます。コードの簡素化: 参照渡しによりコードが簡素化され、追加の代入操作は必要ありません。

このWebサイトは7月9日、AMD Zen5アーキテクチャの「Strix」シリーズプロセッサには2つのパッケージングソリューションがあり、小型の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 カーネルによって定義されます。パラメータの受け渡し: カスタム関数はパラメータを受け取りますが、事前定義された関数はパラメータを必要としない場合があります。拡張性: カスタム関数は必要に応じて作成できますが、事前定義された関数は組み込みで変更できません。
