apply を使用して JavaScript 関数を 1 回だけ実行する code_javascript スキル

WBOY
リリース: 2016-05-16 18:24:17
オリジナル
1017 人が閲覧しました
コードをコピーします コードは次のとおりです。

var obj = new Object(); .triggerOnce = function(fn) { //一度だけトリガーする関数を制御します
return function() {
try {
fn.apply(this, argument)
}
catch; (e) {
var txt = "このページでエラーが発生しました。nn";
txt = "エラー メッセージ: " e.message "nn";
txt = "エラー名: " e .name "nn ";
//alert(txt);//この行は公式プラットフォームではコメントアウトする必要があるかもしれません
}
finally {
fn = null;
}
}


呼び出しフォーム:


コードをコピー コードは次のとおりです
function showMsg(arg){
alert(arg);
var fn=obj.triggerOnce(showMsg); //一度だけ実行
fn( 2);//fn は呼び出されません


最後に、JavaScript の apply メソッドについては、この古い記事を参照するだけで済みます。
【外部記事】javascript を使用してクエリ文字列の値を取得する
一般的な Web サイトでは、asp.net のリクエストを通じて、「XXXX.aspx?username=jeffwong&address=Beijing」という形式の URL が頻繁に表示されます。オブジェクトのキー値を取得するのは簡単で、js を使用するのは難しくありません。次の関数を使用できます。
Code




Copy code
コードは次のとおりです。 var urlStrs = location.search; //QueryString var Request = {};
Request.Add = function (name, value) {
if (Request.hasOwnProperty(name) == false) {
Request.Count; // 存在しない場合は、カウントに 1 を加えます。
}
Request[name] = value;
return true;
}
Request.QueryString = function(name) {//対応するキー値を取得します
var key = name .toString().toLocaleLowerCase(); //大文字と小文字は区別されません
var result = null;
try {
// if (Request.hasOwnProperty(key)) {
result = Request[key ];
// }
}
catch (e) {
//alert(e.message);

}
リクエスト.Init = function(urlQueryString) {
if (urlQueryString.indexOf("?") != -1) {
var url = urlQueryString.substr(1)
var strArr = url.split(" &");
for (var i = 0; i < strArr.length; i ) {
var strChildArr = strArr[i].split("=");
var name = String( strChildArr[0]).toLowerCase();
var value = unescape(strChildArr[1]); // unescape デコード
this.Add(name, value) //Add
}
}
}


テスト関数は次のとおりです:
コード



コードをコピー

コードは次のとおりです。 / /Test function function test() { Request.Init(urlStrs) //リクエストを初期化します alert(Request.Count); );
var name = "ユーザー名";
var value = Request.QueryString(name);
alert(Request.QueryString(name)); 🎜>名前 = "アドレス"
アラート(リクエスト[名前]) ;
アラート(リクエスト.QueryString(名前));
名前 = "年齢"
アラート(リクエスト[名前]) ;
alert(Request.QueryString(name));
}


この記事では、通常、より一般的に使用される unscape を使用することに注意してください。実際、URL パラメータのエンコードには、通常、escape、encodeURIComponent、encodeURI があり、これら 3 つのエンコード関数のうち、escape は window オブジェクトの組み込み関数であり、他の 2 つは JavaScript の組み込み関数です。それらのデコード関数も 1 対 1 に対応しています (この記事を参照してください)。対応する反転関数はそれぞれ unescape、decodeURIComponent、decodeURI です。
著者: ジェフ・ウォン
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート