javascript 기초 지식 모음 집(2)추천 모음 집
/**
* cookie .
* : :CookieTool('name','1',{expires: 7}) // cookie 1, name, 7
* :CookieTool('name') // 1
* @param {} name
* @param {} value
* @param {} options
* @return {}
*/
CookieTool = function(name, value, options) {
if (typeof value != 'undefined') {
options = options || {};
if (value === null) {
value = '';
options.expires = -1;
}
var expires = '';
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
var date;
if (typeof options.expires == 'number') {
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
} else {
date = options.expires;
}
expires = '; expires=' + date.toUTCString();
}
var path = options.path ? '; path=' + (options.path) : '';
var domain = options.domain ? '; domain=' + (options.domain) : '';
var secure = options.secure ? '; secure' : '';
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
} else {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = trim(cookies[i]);
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
};
2.js 대상 을 볼 수 있 는 js 함수 에 대하 여멋 진 방법:
/**
*
*/
function debugObjectInfo(obj){
traceObject(obj);
function traceObject(obj){
var str = '';
if(obj.tagName&&obj.name&&obj.id)
str="<table border='1' width='100%'><tr><td colspan='2' bgcolor='#ffff99'>traceObject tag: <"+obj.tagName+"> name = \""+obj.name+"\" id = \""+obj.id+"\" </td></tr>";
else{
str="<table border='1' width='100%'>";
}
var key=[];
for(var i in obj){
key.push(i);
}
key.sort();
for(var i=0;i<key.length;i++){
var v= new String(obj[key[i]]).replace(/</g,"<").replace(/>/g,">");
str+="<tr><td valign='top'>"+key[i]+"</td><td>"+v+"</td></tr>";
}
str=str+"</table>";
writeMsg(str);
}
function trace(v){
var str="<table border='1' width='100%'><tr><td bgcolor='#ffff99'>";
str+=String(v).replace(/</g,"<").replace(/>/g,">");
str+="</td></tr></table>";
writeMsg(str);
}
function writeMsg(s){
traceWin=window.open("","traceWindow","height=600, width=800,scrollbars=yes");
traceWin.document.write(s);
}
}
정규 표현 식:g 는 전역 적 으로 m 와 일치 하 는 것 을 대표 합 니 다.i 는 대소 문자 와 일치 하지 않 습 니 다.^입력 문자열 과 일치 하 는 시작 위치$입력 문자열 의 끝 위치*앞 에 있 는 하위 표현 식 과 0 번 또는 여러 번 일치 합 니 다.{0,}+앞 에 있 는 하위 표현 식 과 한 번 또는 여러 번 일치 합 니 다.{1,}과 같 습 니까?앞의 하위 표현 식 과 0 회 또는 1 회 일치 합 니 다.이 문 자 는 다른 제한 문자(*,+,?,{)와 같 습 니 다.n},{n,},{n,m}뒤에 있 을 때 일치 하 는 패턴 은 탐 욕 스 럽 지 않 습 니 다.탐욕 모드 가 아 닌 검색 한 문자열 은 가능 한 한 적 게 일치 하고 기본 탐욕 모드 는 검색 한 문자열 과 가능 한 한 많이 일치 합 니 다.예 를 들 어 문자열'oooo','o+?'하나의'o'와 일치 하고'o+'는 모든'o'와 일치 합 니 다.\d 는 숫자 문자 와 일치 합 니 다.[0-9]\\D 는 비수 문자 와 일치 합 니 다.등 가 는[^0-9]\\w 이 고,등 가 는"[A-Za-z0-9]"\\입 니 다.W 는 모든 비 단어 문자 와 일치 합 니 다."[^A-Za-z0-9]"\\s 는 모든 공백 문자 와 일치 합 니 다.빈 칸 탭 문자 의 페이지 바 꾸 기 등 을 포함 합 니 다.같은 값 은[\f\r\t\v]\\S 와 모든 비 공백 문자 와 일치 합 니 다.같은 값 은[^\f\r\t\v]\b 와 단어 경계 가 일치 합 니 다.즉,단어 와 빈 칸 의 위 치 를 말 합 니 다.\B 는 단어 가 아 닌 경계 와 일치 합 니 다.정규 표현 식 은 js 방법 을 자주 사용 합 니 다.현재 대상 의 대상 으로 사 용 됩 니 다.arg 1,arg 2,argN 옵션 이 있 습 니 다.전달 되 는 방법 매개 변수 시퀀스 입 니 다.콜 방법 을 설명 하면 다른 대상 을 대체 하여 하나의 방법 을 호출 할 수 있다.call 방법 은 함수 의 대상 컨 텍스트 를 초기 컨 텍스트 에서 thisObj 가 지정 한 새로운 대상 으로 변경 할 수 있 습 니 다.간단 한 예:
/**
* .
* @return {}
*/
function MatchDemo() {
var r, re; // 。
var s = "The rain in Spain falls mainly in the plain";
re = new RegExp("ain", "g"); // 。
r = s.match(re); // s 。
return (r);
}
/**
* .
*/
function RegExpTest() {
var ver = Number(ScriptEngineMajorVersion() + "."
+ ScriptEngineMinorVersion())
var ans = '';
if (ver >= 5.5) { // JScript 。
var src = "The rain in Spain falls mainly in the plain.";
var re = /\w+/g; // 。
var arr;
while ((arr = re.exec(src)) != null)
ans += arr.index + "-" + arr.lastIndex + arr + "\t";
} else {
ans = " JScript ";
}
return ans;
}
/**
* , .
*/
function TestDemo() {
var s1;
var source = "abcdefg";
var regex = /\w+/g; // 。
if (regex.test(source))
s1 = " contains ";
else
s1 = " does not contain ";
return ("'" + source + "'" + s1 + "'" + regex.source + "'");
}
/**
* .
* @return {}
*/
function SearchDemo() {
var r, re;
var s = "The rain in Spain falls mainly in the plain.";
re = /falls/i;
r = s.search(re);
return (r);
}
약간 복잡 한 예:
function add(a,b)
{
alert(a+b);
}
function sub(a,b)
{
alert(a-b);
}
add.call(sub,3,1);
// add sub,add.call(sub,3,1) == add(3,1) , :alert(4);
다 중 계승 예:
function Class1()
{
this.name = "class1";
this.showNam = function()
{
alert(this.name);
}
}
function Class2()
{
this.name = "class2";
}
var c1 = new Class1();
var c2 = new Class2();
c1.showNam.call(c2);
//call c1 c2 , c2 showNam() , c1 showNam() c2 , this.name class2, :alert("class2");
5.apply 함수:Function.application(obj,args)방법 은 두 개의 매개 변 수 를 받 을 수 있 습 니 다.obj:이 대상 은 Function 류 에서 this 대상 args 를 대체 합 니 다.이것 은 배열 입 니 다.이 는 Function(args->arguments)에 매개 변수 로 전 달 됩 니 다.call 과 유사 한 계승 효 과 를 실현 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Thymeleaf 의 일반 양식 제출 과 AJAX 제출텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.