Home >Web Front-end >JS Tutorial >Collection of common javascript code snippets_javascript skills

Collection of common javascript code snippets_javascript skills

WBOY
WBOYOriginal
2016-05-16 16:29:141431browse

1.json to string

Copy code The code is as follows:

function json2str(o) {
var arr = [];
var fmt = function (s) {
If (typeof s == 'object' && s != null) return json2str(s);
           return /^(string|number)$/.test(typeof s) ? "'" s "'" : s;
};
for (var i in o) arr.push("'" i "':" fmt(o[i]));
Return '{' arr.join(',') '}';
}

2. Convert timestamp to Date

Copy code The code is as follows:

function fromUnixTime(timeStamp) {
If (!timeStamp || timeStamp < 1000 || timeStamp == ' ') return "";
var theDate = new Date(parseInt(timeStamp) * 1000);
Return theDate;
}

3.Data-format

Copy code The code is as follows:

// Author: meizz
// Extension of Date, convert Date into String in specified format
// Month (M), day (d), hour (h), minute (m), second (s), quarter (q) can use 1-2 placeholders,
// Year (y) can use 1-4 placeholders, milliseconds (S) can only use 1 placeholder (a number of 1-3 digits)
// Example:
// (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, //Month
"d ": this.getDate(),                                                                                                                                                                                    . "h ": this.getHours(), //Hours
"m ": this.getMinutes(), //Minutes
"s ": this.getSeconds(), //seconds
"q ": Math.floor((this.getMonth() 3) / 3), //Quarter
"S": this.getMilliseconds() //Milliseconds
};
If (/(y)/.test(fmt))
             fmt = fmt.replace(RegExp.$1, (this.getFullYear() "").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]). length)));
Return fmt;
};

4. Add n days to the date

Copy code The code is as follows:
function addDay(number) {
          return fromUnixTime(new Date().getTime() / 1000 24 * 60 * 60 * number);
}

5. When using iframe, mutual calls between parent form and child form

Copy code The code is as follows:

//The parent form calls the function in the child form
window.frames['ifm_id'].valueChange("id_101");
//The child form calls the function of the parent form
parent.refreshTree("nodeId_202");

6. Pop-up form and return value

Copy code The code is as follows:

// Pop-up form
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;");
// Set the return value in the pop-up form
var result = new Array();
result[0] = "id_101";
result[1] = "name_202";
window.returnValue = result;
window.close();

7. JavaScript scope [only global scope and function scope, JavaScript does not have block scope]

Copy code The code is as follows:

// 1. Global scope
var id = "global variable"; // 1.1 Variables defined outside the function
function showMsg(){ 
​​message = "global message";// 1.2 Undefined but directly assigned variables
// It is defined as a global variable in the first use
}
// 2. Function scope
function doCheck(){
var data = "function data";// 2.1 Variables defined inside the function
}

8. JavaScript inheritance mechanism

Copy code The code is as follows:

// 1. Object pretends to be inheritance
function Person(strName){
// private fields
var name = strName;
// public methods
This.getName = function(){
          return name;                                 };  
}
function Student(strName,strSchool){
// Define the attributes and methods of the parent class
This.parent = Person;
This.parent(strName);
Delete this.parent; // Delete temporary variable parent
// Define new properties and methods
// private fields
var school = strSchool;
// public methods
This.getSchool = function(){
          return school;                              };  
}
// 2. Call(..) or apply(..) inheritance of Function object
// The difference between call and apply is:
// The second parameter of call is a variable parameter;
// The second parameter of apply is Array;
function Animal(strName,intAge){
// private fields
var name = strName;
var age = intAge;
// public methods
This.getName = function(){
          return name;                                 };  
This.getAge = function(){
Return age;
};
}
function Cat(strName,intAge,strColor){
// Define the attributes and methods of the parent class
Animal.call(this,strName,intAge);
// Animal.apply(this,new Array(strName,intAge));
// Define new properties and methods
// private fields
var color = strColor;
// public methods
This.getInfo = function(){
          return "name:" this.getName() "n"
"age:" this.getAge() "n"
"color:" color;
};
}
// 3. prototype inheritance
// The properties and methods declared by prototype are shared by all objects
// prototype is only used when reading properties
Function.prototype.extend = function(superClass){
// The F here is to prevent subclasses from accessing properties in the parent class this.xxx
Function F(){};
F.prototype = superClass.prototype;
// Parent class constructor
This.superConstructor = superClass;
This.superClass = superClass.prototype;
This.prototype = new F();
This.prototype.constructor = this;
};
Function.prototype.mixin = function(props){ 
for (var p in props){                               This.prototype[p] = props[p]; This.prototype[p] = props[p];
}  
};
function Box(){}
Box.prototype = { 
GetText : function(){
           return this.text;                                     },
setText : function(text){
This.text = text;
}  
};
function CheckBox(){}
CheckBox.extend(Box);
CheckBox.mixin({
isChecked : function(){
          return this.checked;                                 },
setChecked : function(checked){
This.checked = checked;
}  
});

9. call, apply & bind

Copy code The code is as follows:
// thisArg represents the object indicated by this when inside fun
// call & apply will execute fun immediately and return the result
var result = fun.call(thisArg,arg1,...);
var result = fun.apply(thisArg,[argsArray]);
// thisArg represents the object indicated by this when inside fun
// bind returns an anonymous function
var tmpfun = fun.bind(thisArg);
var result = tmpfun(arg1,...);

Copy code The code is as follows:



10. js "==" Operator

Conversion Rules
If an operand is a Boolean value, it is converted to a number before comparison: false -> 0, true -> 1;
If one operand is a number and the other operand is a string, convert the string to a number before comparison;
If one operand is an object and the other operand is a number or string, the object will be converted to a basic type before comparison,
The engine will first try to call valueOf(). If valueOf() does not override or returns an object,
       The engine will try to call toString(). If toString() does not override or returns an object, an exception will be thrown;
If two objects are compared, determine whether they refer to the same object;
If an operand is NaN, == will return false, != will return true;
Comparing null and undefined with other values ​​will return false,
But null == null, undefined == undefined, null == undefined;
When participating in comparison, null and undefined cannot be converted to other values;


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn