> 웹 프론트엔드 > JS 튜토리얼 > 일반적인 자바스크립트 코드 snippets_javascript 기술 모음

일반적인 자바스크립트 코드 snippets_javascript 기술 모음

WBOY
풀어 주다: 2016-05-16 16:29:14
원래의
1399명이 탐색했습니다.

1.json을 문자열로

코드 복사 코드는 다음과 같습니다.

함수 json2str(o) {
var arr = [];
var fmt = 함수(들) {
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]));
'{' 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() //밀리초
};
만약 (/(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]). 길이)));
fmt를 돌려주세요;
};

4. 날짜에 n일을 추가하세요

코드 복사 코드는 다음과 같습니다.
함수 addDay(숫자) {
          return fromUnixTime(new Date().getTime() / 1000 24 * 60 * 60 * 숫자);
}

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 결과 = 새로운 배열()
결과[0] = "id_101"
결과[1] = "이름_202"
window.returnValue = 결과
창.닫기()

7. JavaScript 범위 [전역 범위 및 함수 범위만, JavaScript에는 블록 범위가 없습니다.]

코드 복사 코드는 다음과 같습니다.
// 1. 전역 범위
var id = "global Variable"; // 1.1 함수 외부에서 정의된 변수
함수 showMsg(){ 
​​message = "global message";// 1.2 정의되지 않았지만 직접 할당된 변수
//처음 사용시 전역변수로 정의되어 있습니다
}
// 2. 함수 범위
함수 doCheck(){
var data = "function data";// 2.1 함수 내부에 정의된 변수
}

8. 자바스크립트 상속 메커니즘

코드 복사 코드는 다음과 같습니다.

// 1. 객체는 상속인 것처럼 가장합니다
함수 사람(strName){
// 비공개 필드
변수 이름 = strName
// 공개 메소드
This.getName = 함수(){
          이름 반환;                                };   }
함수 Student(strName,strSchool){
// 상위 클래스의 속성과 메서드를 정의합니다.
This.parent = 사람
This.parent(strName)
delete this.parent; // 임시 변수 parent 삭제
// 새로운 속성과 메소드 정의
// 비공개 필드
var 학교 = strSchool
// 공개 메소드
This.getSchool = function(){
          복학;                             };   }
// 2. 함수 객체 상속을 호출(..) 또는 적용(..)
// 호출과 적용의 차이점은 다음과 같습니다.
// 호출의 두 번째 매개변수는 가변 매개변수입니다.
// Apply의 두 번째 매개변수는 Array
입니다. 함수 동물(strName,intAge){
// 비공개 필드
변수 이름 = strName
변수 나이 = intAge
// 공개 메소드
This.getName = 함수(){
          이름 반환;                                };   This.getAge = function(){
반환 연령
}; }
함수 Cat(strName,intAge,strColor){
// 상위 클래스의 속성과 메소드를 정의합니다.
Animal.call(this,strName,intAge)
// Animal.apply(this,new Array(strName,intAge))
// 새로운 속성과 메소드 정의
// 비공개 필드
var 색상 = strColor
// 공개 메소드
This.getInfo = function(){
          "이름:" 반환 this.getName() "n"
"나이:" this.getAge() "n"
"색상:" 색상
}; }
// 3. 프로토타입 상속
// 프로토타입에서 선언한 속성과 메서드는 모든 객체에서 공유됩니다.
// 프로토타입은 속성을 읽을 때만 사용됩니다
Function.prototype.extend = function(superClass){
// 여기서 F는 하위 클래스가 상위 클래스 this.xxx의 속성에 액세스하는 것을 방지하는 것입니다.
함수 F(){}
F.prototype = superClass.prototype
// 상위 클래스 생성자
This.superConstructor = 슈퍼클래스
This.superClass = superClass.prototype
This.prototype = new F()
This.prototype.constructor =
}; Function.prototype.mixin = 함수(props){ 
for (props의 var p){                              This.prototype[p] = props[p]; This.prototype[p] = props[p]
}  
}; 함수 상자(){}
Box.prototype = { 
GetText : 함수(){
           return this.text;                                   },
setText : 함수(텍스트){
This.text = 텍스트
}  
}; 함수 CheckBox(){}
CheckBox.extend(박스)
CheckBox.mixin({
isChecked : 함수(){
          이것을 반환합니다.checked;                               },
setChecked : 기능(체크됨){
This.checked = 체크됨
}  
})

9. 호출, 적용 및 바인딩

코드 복사 코드는 다음과 같습니다.
// thisArg는 fun 내부에서 this가 가리키는 객체를 나타냅니다.
// 호출 및 적용은 즉시 fun을 실행하고 결과를 반환합니다
var 결과 = fun.call(thisArg,arg1,...)
var 결과 = fun.apply(thisArg,[argsArray])
// thisArg는 fun 내부에서 this가 가리키는 객체를 나타냅니다.
// 바인드는 익명 함수를 반환합니다
var tmpfun = fun.bind(thisArg)
var 결과 = tmpfun(arg1,...);

<스크립트 유형="텍스트/자바스크립트"> /**
* 기능 확장
​*/
Function.prototype.bind = function(obj){
var 메소드 = 이것
var tmpfun = function(){
         반환 방법.apply(obj,arguments)
}; tmpfun 반환
}
함수 상위(){
This.name = "부모"
}
함수 하위(){
This.name = "자녀"
This.getName = 함수(시간){
         반환 시간 " " this.name
}; }
var parent = 새로운 부모()
var 자식 = 새로운 자식()
Alert(child.getName(1)); // 자식 1명 표시
Alert(child.getName.call(parent,2)); // 상위 2개 표시 [호출 및 적용이 즉시 실행됩니다]
var tmpfun = child.getName.bind(parent); // 바인드가 즉시 실행되지 않습니다
경고(tmpfun(3));  스크립트>



10.js "==" 연산자


코드 복사

코드는 다음과 같습니다. 변환 규칙 피연산자가 부울 값인 경우 비교 전에 숫자로 변환됩니다. false -> 피연산자 중 하나가 숫자이고 다른 피연산자는 문자열인 경우 비교하기 전에 문자열을 숫자로 변환하세요. 피연산자 중 하나가 객체이고 다른 피연산자가 숫자 또는 문자열인 경우 객체는 비교 전에 기본 유형으로 변환됩니다. 엔진은 먼저 valueOf() 호출을 시도합니다. valueOf()가 객체를 재정의하거나 반환하지 않으면        엔진은 toString()을 호출하려고 시도합니다. toString()이 객체를 재정의하거나 반환하지 않으면 예외가 발생합니다.
두 객체를 비교하는 경우 동일한 객체를 참조하는지 확인하세요.
피연산자가 NaN이면 ==는 false를 반환하고, !=는 true를 반환합니다. null과 정의되지 않음을 다른 값과 비교하면 false가 반환됩니다.
그러나 null == null, 정의되지 않음 == 정의되지 않음, null == 정의되지 않음
비교에 참여할 때 null과 undefine은 다른 값으로 변환될 수 없습니다.


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿