正規表現を動的に構築する
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 つの変数の値を交換します
コードをコピー
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 || 何か );