JavaScriptの擬似アレイを真の配列に変換します
JavaScriptでは、getelementsbytagnameで取得された関数と要素セット(nodeList)の隠された変数引数は実際の配列ではなく、プッシュなどの方法は使用できません。そのような必要性がある場合、それらは最初に実際の配列にのみ変換できます。
引数には、array.prototype.slice.call(arguments)を使用できます。コンバージョンの目的を達成するために、しかしノデリストにとっては機能しません。 IE8以下でエラーが報告されます。 JSエンジンにはいくつかの制限があるとのみ言えます。
したがって、ノデリストを実際の配列に変換する必要がある場合は、下向きの互換性プロセスを実行する必要があります。
コードコピーは次のとおりです。
関数RealArray(c){
試す {
return array.prototype.slice.call(c);
} catch(e){
var ret = []、i = 0、len = c.length;
for(; i <len; i ++){
ret [i] =(c [i]);
}
返品;
}
}
JavaScriptホームページ機能を設定します
コードコピーは次のとおりです。
<!doctype html>
<html>
<head>
<Title> JavaScript設定「Homeとして設定」と「お気に入り」(IEとFirefoxブラウザと互換性があります)</title>
<メタcharset = "utf-8">
<script type = "text/javascript">
関数sethomepage(){
if(document.all){
/*ie*/
document.body.style.behavior = 'url(#default#homepage)';
document.body.setomepage(window.location.href);
} else if(window.sidebar){
/*ff*/
if(window.netscape){
試す {
netscape.security.privilegemanager.enableprivilege( "universalxpconnect");
} catch(e){
alert( "この操作はブラウザによって拒否されます。この関数を有効にする場合は、アドレスバーにconfigを入力してから、符号付きアイテムを入力してください。
}
}
var prefs = components.classes ['@mozilla.org/preferences-service;1'> .getService(components.interfaces.nsiprefbranch);
prefs.setcharpref( 'browser.startup.homepage'、window.location.href);
} それ以外 {
/*Chromeまたはその他*/
Alert(「ブラウザはホームページの自動設定をサポートしていません。ブラウザメニューを使用して手動で設定してください!」);
}
}
</script>
</head>
<body>
<onclick = "sethomepage()" href = "javascript:void(0);">ホームページとして設定</a>
</body>
</html>
JavaScriptコレクション機能
コードコピーは次のとおりです。
<!doctype html>
<html>
<head>
<title> demo </title>
<メタcharset = "utf-8">
<Script src = "// code.jquery.com/jquery-11.0.min.js"> </script>
<script src = "// code.jquery.com/jquery-migrate-1.2.1.min.js"> </script>
<script type = "text/javascript">
jquery.fn.addfavorite = function(l、h){
this.click(function(){
var t = jquery(this);
if(jquery.browser.msie){
window.external.addfavorite(h、l);
} else if(jquery.browser.mozilla || jquery.browser.opera){
t.attr( "rel"、 "sidebar");
T.attr( "title"、l);
T.attr( "href"、h);
} それ以外 {
Alert(「Ctrl+Dを使用してお気に入りにこのページを追加してください!」);
}
});
};
$(function(){
$( '#fav')。addfavite(document.title、location.href);
});
</script>
</head>
<body>
<a href = "javascript :;" id = "fav">このサイトを保存</a>
</body>
</html>
jQueryに基づいて、ニーズに応じて変更できます。
JavaScriptは、要素が特定の属性コードをサポートするかどうかを検出します
コードコピーは次のとおりです。
関数elementsupportSattribute(element、属性){
var test = document.createelement(element);
if(テスト中の属性){
trueを返します。
} それ以外 {
falseを返します。
}
};
使用法:
コードコピーは次のとおりです。
if(elementupportSattribute( "textarea"、 "Placeholder"){
} それ以外 {
// 後退する
}
名前空間を作成して使用します
コードコピーは次のとおりです。
var global = {};
Global.namespace = function(str){
var arr = str.split( '。')、o = global;
for(k =(arr [0] == "global")?1:0; k <arr.length; k ++){
o [arr [k]] = o [arr [k]] || {};
o = o [arr [k]];
}
}
使い方
コードコピーは次のとおりです。
Global.NamesPace( "Lang");
Global.lang.test = function(){
// todo
}
上記はこの記事のすべてです。あなたがそれを気に入ってくれることを願っています。