ホームページ > ウェブフロントエンド > jsチュートリアル > 一般的な JavaScript コード スニペットのコレクション_JavaScript スキル

一般的な JavaScript コード スニペットのコレクション_JavaScript スキル

WBOY
リリース: 2016-05-16 16:29:14
オリジナル
1399 人が閲覧しました

1.json を文字列に変換

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

関数 json2str(o) {
var arr = [];
var fmt = 関数 {
if (typeof s == 'object' && s != null) を返す json2str(s);
return /^(string|number)$/.test(typeof s) ? "'" s "'" : s;
};
for (var i in o) arr.push("'" i "':" fmt(o[i]));
戻り値 '{' arr.join(',') '}';
}

2. タイムスタンプを日付に変換します

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

関数 fromUnixTime(timeStamp) {
If (!timeStamp || timeStamp var theDate = new Date(parseInt(timeStamp) * 1000);
日付を返します;
}

3.データ形式

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

// 作者: meizz
// 日付の拡張子、日付を指定された形式の文字列に変換します
// 月 (M)、日 (d)、時 (h)、分 (m)、秒 (s)、四半期 (q) には 1 ~ 2 個のプレースホルダーを使用できます。
// 年 (y) は 1 ~ 4 個のプレースホルダーを使用できますが、ミリ秒 (S) は 1 つのプレースホルダー (1 ~ 3 桁の数値) のみを使用できます
// 例:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2012-12-02 08:12:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2012-12-02 8:12:4.18
Date.prototype.Format = function(fmt) {
var o = {
"M ": this.getMonth() 1, //月
"d": this.getDate(), 。 "h ": this.getHours(), //時間
"m ": this.getMinutes(), //分
"s ": this.getSeconds(), //秒
"q ": Math.floor((this.getMonth() 3) / 3), //四半期
"S": this.getMilliseconds() //ミリ秒
};
If (/(y)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFull Year() "").substr(4 - RegExp.$1.length));
for (var k in o)
If (new RegExp("(" k ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" o[k]).substr(("" o[k]).長さ)));
fmt を返します;
};

4. 日付に n 日を加算します

コードをコピーします コードは次のとおりです:
関数 addDay(数値) {
return fromUnixTime(new Date().getTime() / 1000 24 * 60 * 60 * number);
}

5. iframeを使用する場合、親フォームと子フォーム間の相互呼び出し

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

//親フォームは子フォームの関数を呼び出します
window.frames['ifm_id'].valueChange("id_101"); //子フォームは親フォームの関数を呼び出します
parent.refreshTree("nodeId_202");

6. ポップアップフォームと戻り値

コードをコピーします コードは次のとおりです:
// ポップアップフォーム
var url = "
http://www.baidu.com
"; win=window.showModalDialog(url,window,"dialogLeft:400;dialogTop:200;dialogWidth:560px;dialogHeight:380px;scroll:yes;menubar:no;toolbar:no;status:no;"); // 戻り値をポップアップフォームに設定します var result = 新しい配列; 結果[0] = "id_101"; 結果[1] = "名前_202"
window.returnValue = 結果; window.close();


7. JavaScript スコープ [グローバル スコープと関数スコープのみ。JavaScript にはブロック スコープはありません]



コードをコピーします

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

// 1. グローバル スコープ var id = "グローバル変数" // 1.1 関数の外で定義された変数 ; function showMsg(){ message = "global message";// 1.2 未定義だが直接割り当てられた変数 // 初回使用時はグローバル変数として定義されています
}
// 2. 関数スコープ
関数 doCheck(){
var data = "関数データ";// 2.1 関数内で定義された変数
}



8. JavaScript 継承メカニズム



コードをコピー

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


// 1. オブジェクトは継承のふりをします
function 人(strName){
// プライベートフィールド
変数名 = strName; // パブリックメソッド
This.getName = function(){
名前を返す; };
}
function Student(strName,strSchool){
// 親クラスの属性とメソッドを定義します
This.parent = 人
This.parent(strName); this.parent を削除 // 一時変数の親を削除します
// 新しいプロパティとメソッドを定義します
// プライベートフィールド
var school = strSchool
// パブリックメソッド
This.getSchool = function(){
学校に戻る; };
}
// 2. Function オブジェクト
の Call(..) または apply(..) 継承 // 呼び出しと適用の違いは次のとおりです:
// call の 2 番目のパラメータは変数パラメータです。 // apply の 2 番目のパラメータは配列
です。 function Animal(strName,intAge){
// プライベートフィールド
変数名 = strName; var age = intAge
// パブリックメソッド
This.getName = function(){
名前を返す; };
This.getAge = function(){
年齢を返す
};
}
function Cat(strName,intAge,strColor){
// 親クラスの属性とメソッドを定義します
Animal.call(this,strName,intAge); // Animal.apply(this,new Array(strName,intAge)); // 新しいプロパティとメソッドを定義します
// プライベートフィールド
var color = strColor
// パブリックメソッド
This.getInfo = function(){
return "name:" this.getName() "n"
"年齢:" this.getAge() "n"
"色:" 色
};
}
// 3. プロトタイプの継承
// プロトタイプで宣言されたプロパティとメソッドはすべてのオブジェクトで共有されます
// プロトタイプはプロパティを読み取る場合にのみ使用されます
Function.prototype.extend = function(superClass){
// ここの F は、サブクラスが親クラス this.xxx のプロパティにアクセスできないようにするためのものです
関数 F(){}; F.prototype = superClass.prototype
// 親クラスのコンストラクター
This.superConstructor = superClass; This.superClass = superClass.prototype
This.prototype = 新しい F(); this.prototype.constructor = this; };
Function.prototype.mixin = function(props){
for (props の var p){ This.prototype[p] = props[p]; This.prototype[p] = props[p]; }
};
関数 Box(){}
Box.prototype = {
GetText : function(){
return this.text; }、
setText : function(text){
This.text = テキスト; }
};
関数 CheckBox(){}
CheckBox.extend(ボックス); CheckBox.mixin({
isChecked : function(){
return this.checked; }、
setChecked : function(checked){
This.checked = チェック済み
}
});

9. 電話、申請、バインド

コードをコピーします コードは次のとおりです:
// thisArg は fun 内で this によって示されるオブジェクトを表します
// call & apply は fun をすぐに実行し、結果を返します
var result = fun.call(thisArg,arg1,...); var result = fun.apply(thisArg,[argsArray]); // thisArg は fun 内で this によって示されるオブジェクトを表します
// バインドは匿名関数を返します
var tmpfun = fun.bind(thisArg); var result = tmpfun(arg1,...);




コードをコピーします

コードは次のとおりです: <スクリプトタイプ="text/javascript"> /** * 関数 の機能を拡張します ​*/
Function.prototype.bind = function(obj){
var メソッド = これ; var tmpfun = function(){
戻りメソッド.apply(obj,arguments); };
tmpfun を返します。 }
function Parent(){
This.name = "親"
}
function Child(){
This.name = "子供"
This.getName = function(time){
戻り時間 " " this.name; };
}
var 親 = 新しい親()
var child = new Child(); alert(child.getName(1)); // 1 人の子を表示
alert(child.getName.call(parent,2)); // 2 つの親を表示 [呼び出しと適用はすぐに実行されます]
var tmpfun = child.getName.bind(parent) // バインドはすぐには実行されません
アラート(tmpfun(3));



10. js "== 演算子





コードをコピーします


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

変換ルール

オペランドがブール値の場合、比較の前に数値に変換されます: false -> 0、true -> 1; 一方のオペランドが数値で、もう一方のオペランドが文字列の場合、比較する前に文字列を数値に変換します。 一方のオペランドがオブジェクトで、もう一方のオペランドが数値または文字列の場合、オブジェクトは比較前に基本型に変換されます

valueOf() がオブジェクトをオーバーライドしない場合、またはオブジェクトを返す場合、エンジンは最初に valueOf() の呼び出しを試みます。 エンジンは toString() を呼び出そうとしますが、toString() がオブジェクトをオーバーライドしない場合、またはオブジェクトを返さない場合は、例外がスローされます。 2 つのオブジェクトを比較する場合は、それらが同じオブジェクトを参照しているかどうかを判断します。 オペランドが NaN の場合、== は false を返し、!= は true を返します。 null と unknown を他の値と比較すると false、

が返されます。 ただし、null == null、未定義 == 未定義、null == 未定義 比較に参加する場合、null と unknown を他の値に変換することはできません。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート