ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の美しいコード スニペット_javascript のヒント

JavaScript の美しいコード スニペット_javascript のヒント

WBOY
WBOYオリジナル
2016-05-16 17:32:441002ブラウズ

正規表現を動的に構築する

コードをコピー コードは次のとおりです。

new RegExp( Expr.match[ type ] .source ( /(?![^[]*])(?![^(]*))/.source) )

sizzle から、正規表現を動的に構築するときに、これにより文字が回避されますエスケープ。


より柔軟で賢い数字のゼロのパディング

コードをコピー コードは次のとおりです。

function prefixInteger(num, length) {
return (num / Math.pow(10, length)).toFixed(length).substr(2);
}

配列の最大値と最小値を取得します

コードをコピーします コードは次のとおりです。

Math.max.apply(Math, [ 1,2 ,3]) //3
Math.min.apply(Math, [1,2,3]) //1

美しいランダム文字列を生成します

コードをコピー コードは次のとおりです。

Math.random().toString(16) ).substring (2); //8 ビット
Math.random().toString(36).substring(2); //16 ビット


タイムスタンプを取得


var timeStamp = (new Date).getTime();
と比較して、次のメソッドの方が便利です:

コードをコピー コードは次のとおりです:

var timeStamp = Number(new Date);

数値に変換して四捨五入

コードをコピーします コードは次のとおりです。

var result = '3.1415926' | 0; // 3


文字列の書式設定

コードをコピー コードは次のとおりです。

関数 format(format) {
if (! FB.String.format._formatRE) {
FB.String.format._formatRE = /({[^}^{] })/g;
}

var 値 = 引数;

return format.replace(
FB.String.format._formatRE,
function(str, m) {
var
Index = parseInt(m.substr(1), 10),
value = 値[インデックス 1];
}
);
}


使用:



コードをコピー
コードは次のとおりです: format('{0}.facebook.com/{1}', 'www', 'login. php'); //-> www.facebook.com/login.php


2 つの変数の値を交換します

コードをコピー

コードは次のとおりです:var foo = 1;var bar = 2 ;
foo = [bar, bar=foo][0];



正規表現ループ

コードをコピー

コードは次のとおりです。String.prototype.format = function ( / * args * / ) { var args = argument;
return this.replace(
/{(d )}/g,
function (full, idx) {
return args[ idx];
} )
}

'Hello {0}, How doin'.format( 'Bob', ' you doin');
// => こんにちは、Bob、調子はどうですかhttp://mazesoul.github.com/ Readability_idioms_and_compression_tolerance/#31.0

関数の定義と実行

コードをコピー コードは次のとおりです。

( function() {
/ / 何かをします
} )();

これは確かに最も単純なテクニックですが、最も実用的でもあります。 JavaScript カプセル化の基礎を築きます。

三項演算

コードをコピーします コードは次のとおりです。

var some = con1 : con2 ? val2 :
con3 ? val3 :
デフォルト値;

関数登録呼び出しメカニズム

CKEditorから抽出を行いました。

コードをコピー コードは次のとおりです。
( function() {
var fns = [ ];
// 添字によって属性にアクセスできるオブジェクトを配列に変換します
// IE では DOMNodeList が失敗することに注意してください
function toArray( arrayLike,index ) {
return Array.プロトタイプ.slice .call( arrayLike,index || 0 );
}
window.Util = {
'addFunction' : function( fn,scope ) {
return fns.push( function( ){
return fn.apply( スコープ || ウィンドウ, 引数 );
} ) - 1;
},
'removeFunction' : function(index) {

fns[index ] = null;
},

'callFunction' : function(index ) {

var fn = fns[index ];

return fn && fn.apply( window, toArray( argument, 1 ) );
}
};
} )();
// アプリケーション シナリオ
var fnId;
// クロージャーに、グローバルに呼び出すことができる関数を追加します
( function( ) {
fnId = Util.addFunction( function( msg ) {
alert( msg );
} );
} )();

//

Util.callFunction( fnId, 'Hello, World' ) //-> 'Hello,World';

; 短絡動作

コードをコピー コードは次のとおりです:
var something = 'xxxx';
console.log( true && 何か ); //-> 'xxx';
console.log( false && 何か ); //->console.log( true || 何か ); // - > true
console.log( false || 何か );
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。