검색결과 리스트
글
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////// JavaScript /////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
// 기본형(primitive type)
undefined (정의되어 있지 않음, null은 직접 의도적으로 정의하지 않는 것)
boolean
number
string
object
function
// 연산자
a < b
a > b
a <= b
a >= b
a == b
a === b
a instanceof b
// for문
for (var i=0; i<a; i++) {
}
// for in 문
for (variable in [object | array]) {
statements
}
// 내장객체
Array String, Date, Event, Math, Screen, Number, Boolean
// console.log() //콘솔창에 로그를 찍는다.
// var list = [];
list.length
list.push()
list.splice(index1,index2,ser,str)
list.concat() 두개 이상의 배열을 합칠때사용
list.indexOf() 배열 맴버중에서 특정값을찾아 그순번위치를 리턴
list.reverse() 배열의 순서를 반대로 정렬
list.shift() 배열의 첫번째 멤버를 없에고 나머지멤버를 리턴
list.pop() 배열의 마지막 멤버를 삭재후 나머지멤버 리턴
list.sort() 배열을 크기순대로 정렬
// var map = {}; //map이라기 보다는 JSON객체(Object)?
////////////////////////////// 데이터 다루기 //////////////////////////////
// eval('111') //숫자값으로 변환
// parseInt('2323', 10) //결과값: 2323 //10진수 숫자값으로 변환
// escape('$') //결과값: %24
// unescape('%24') //결과값: $
// typeof('fas') //결과값: string
// typeof 1 //결과값: number
// isNaN('123') //결과값: false // Number Type이거나 숫자형식의 String이면 false, 그외 true
// String.indexOf(str) // str과 일치하는 문자열의 index를 반환
// String.substring(idx1, idx2) //idx1~ idx2까지의 문자열 반환
// String.replace('대상 문자', '바꿀 문자')
// String.length //문자열의 길이를 반환
// String.search(정규식or문자열) //문자열 또는 정규식에 일치하는 첫번째 값의 index를 반환
// String.match(정규식) //정규식에 일치하는 값들을 배열로 반환
// 정규식.test(str) //정규식에 해당하면 true
// String.anchor() //문자열이 있는 위치로 페이지 이동???
// 정규식 (JavaScript Regular Expression)
참조 : http://kio.zc.bz/Lecture/regexp.html
////////////////////////////// 타이머 //////////////////////////////
// setTimeout(함수, 밀리세컨)
// clearTimeout()
// setInterval(함수, 밀리세컨)
////////////////////////////// 뒤로가기 //////////////////////////////
// history.go(-1) //뒤로가기
////////////////////////////// 뒤로가기 //////////////////////////////
// location.href = "url" //웹페이지 이동하기
////////////////////////////// 대화상자 //////////////////////////////
// prompt('설명', '미리입력값'); //값 입력 대화상자
// confirm('설명'); //확인(true) 취소(false) 대화상자
// alert('설명'); //경고 대화상자
////////////////////////////// input,textarea에서 선택한 커서위치(or 캐럿위치caretPosition) 관련 //////////////////////////////
// element.selectionStart //input 등, 글입력 도구에서 선택한 영역의 시작 캐럿 위치(CaretPosition)
// element.selectionEnd //input 등, 글입력 도구에서 선택한 영역의 끝 캐럿 위치(CaretPosition)
// element.focus(); //해당 요소로 포커스시킴
// element.setSelectionRange(posStart,posEnd); //해당요소에서 캐럿의 위치를 정함
// arguments // function에 들어온 매개변수(인자)값들을 배열 형태로 갖고 있는 객체
// arguments.length // 인자의 수와 동일
// arguments.callee() // 현재 실행 중인 함수를 호출
// function(); //일반적인 함수 호출
// function.call(); //call() 함수로 호출
// function.apply(); //apply()함수로 호출
※ 다음과 같이 코딩해보았는데... 굳이 왜 call()과 apply()를 써야하는지 모르겠다.
function callMe(arg1, arg2){
var s = '';
s += "this value: " +this+ "<br/>";
for (i in arguments) {
s += arguments[i];
}
return s;
}
document.write("Original function: <br/>");
document.write(callMe({ff:1,fff:3}, 4, '54', 54, ['dddd',5,6,7,8,9],2,2,3,1,1,1,1,1));
document.write("<p/>");
document.write("Function called with call: <br/>");
document.write(callMe.call(3, 4, '54', 54, 5,2,2,3,1,1,1,1,1));
document.write("<p/>");
document.write("Function called with apply: <br/>");
document.write(callMe.apply([2,1,1,'a'], [45,78,'b'], [2,75], ['c',2]));
document.write("<p/>");
document.write("Function called with apply: <br/>");
document.write(callMe.apply({'ff':'f'}, {fff:'f'}, [2,75], ['c',2]));
// 함수 만들기 test = new Function("a","b","return (a+b)"); document.write(test(3,5))
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////// 이벤트 핸들러 Event Handler ////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
// document.onLoad = function(){};
// addEventListener()
onAboart
onActivate
onAfterPrint
onAfterUpdate
onBeforeActivate
onBeforeEditfocus
onBeforeuUload
onBeforeUpdate
onBlur
onBounce
onCellcCange
onChange
onContextMenu
onControlSelect
onCopy
onCut
onDataAavailable
onDataSetChanged
onDataSetComplete
onDeactivate
onError
onErrorUpdate
onFilterChange
onFinish
onFocus
onFocusin
onFocuseOut
onHelp
onLayoutComplete
onLoad
onLoseCapture
onMove
onMoveEnd
onMoveStart
onPaste
onPropertyChange
onReadyStateChange
onReset
onResize
onResizeEnd
onResizeStart
onRowEnter
onRowExit
onRowsDelete
onRowsInserted
onScroll
onSelect
onSelectionChange
onSelectStart
onStart
onStop
onSubmit
onUnload
// 키보드 관련
onKeyDown
onKeyPress
onKeyUp
// 마우스 관련
onClick
onDblClick
onScroll
onMouseWheel
onMouseOver
onMouseOut
onMouseUp
onMouseDown
onMouseMove
onMouseLeave
onDrag
onDragEnter
onDragStart
onDragEnd
onDragLeave
onDragOver
// 모바일에서 터치 관련(Android, iPhone)
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////// Event 객체 /////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
// event.clientX //윈도우상 마우스 좌표X
// event.clientY //윈도우상 마우스 좌표Y
// event.srcElement //이벤트가 발생한 객체 반환
// event.keyCode //누른 키보드의 키의 ASCII코드 값 반환
// event.shiftKey
// event.altKey
// event.ctrlKey
// event.returnValue //반환할 값 설정
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////// Document 객체 /////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
document.write('')
document.getElementById('')
document.getElemnetsByName('')
document.getElementsByTagName('')
document.getElementsByClassName('')
document.querySelector('css선택자')
document.querySelectorAll('css선택자')
document.createElement('태그명')
documnet.createTextNode()
documnet.body.scrollTop
documnet.body.scrollLeft
document.폼의name.submit()
documnet.body.childNodes
element.childElementCount
element.children
element.children.length
element.insertBefore(newEl, referenceEl)
element.appendChild()
element.removeChild()
element.replaceChild(newEl, oldEl)
element.firstChild
element.lastChild
element.parentNode
element.nextSibling
element.previousSibling
element.setAttribute('속성명', '속성값')
element.classList.add('asdf'); 클래스 추가
element.classList.remove('asdf'); 삭제
element.classList.contains('asdf'); 적용여부
element.classList.toggle('asdf'); 토글
element.offsetTop // 객체의 Y위치
element.offsetLeft // 객체의 X위치
element.offsetWidth //가로 크기
element.offsetHeight //세로 크기
// 스타일
element.style.border
element.style.color
element.style.backgroundColor
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////// screen 객체 /////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
screen.availHeight()
screen.availWidth()
screen.colorDepth()
screen.height()
screen.width()
screen.pixelDepth()
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////// window 객체 /////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
////////////////////////////// WebSQL (openDatabase) //////////////////////////////
////////////////////////////// 대용량 저장이 가능, sqllite에 의존하는 독립언어를 사용하기 떄문에 표준X, 지양정책..
// db = window.openDatabase("DB이름", "버전", "DB표시이름", 데이터베이스 크기 [,성공콜백함수]); // DB를 실행 브라우져가 가지고 있음
db.transaction( function(tr){} )
// tr.executeSql() //
// window.openDatabase(name,version,displayName,estimatedSize,creationCallback);
// Database.transaction(callback,errorCallback,successCallback);
// Database.readTransaction(callback,errorCallback,successCallback);
// SQLTransaction.executeSql(sql,args,successCallback,errorCallback);
///////////////////////////////////////////////이상하게 안된다. 테스트 중 05/24
var db = null;
function openDB(){
if (!window.openDatabase) {
document.write('이 Browser 는 Web SQL Database 를 지원하지 않습니다.');
} else {
db = window.openDatabase('testDB', '1', '테스트DB', 2*1024*1024 ,function(database){
alert('testDB 생성 완료');
db = database;
createTable();
}
);
alert(55555); // 여기까지 안와 ㅠ
}
}
var createSQL = "create table if not exists testDB("
+ " _no integer primary key autoincrement,"
+ " type test,"
+ " name text,"
+ " url text"
+ ")";
function createTable(){
db.transaction(
function(tx){
tx.executeSql(createSQL, []
, function(){
}
, function(){
}
);
}
, function(error){
}
, function(){
}
);
}
var selectSQL = "select * from testDB";
function readTestDB(){
db.transaction(function(tx){
tx.executeSql(selectSQL, [], function(tx, rs){
for(var i=0; i<rs.rows.length; i++){
var row = rs.rows.item(i);
alert(row._no + ", " + row.type + ", " + row.name + ", '" + row.url);
}
});
});
}
window.onload = function(){
openDB();
alert(0);
readTestDB();
};
////////////////////////////// localStorage //////////////////////////////
//////////////////////////////데이터 : 5MB까지 저장 가능, 지우지 않는 한 계속 유지
// localStorage.setItem('작가', '홍흥힝힝힝');
for (key in localStorage){
document.writeln(key+ ' : ' +localStorage.getItem(key)+ "<BR/>");
}
// localStorage.key(idx); // index에 해당하는 key를 반환.
// localStorage.length; // 데이터의 총 갯수;
// localStorage.removeItem(key); // 해당 key의 데이터를 지운다.
// localStorage.clear(); // 저장된 모든 데이터를 지운다.
// sessionStorage.setItem('방금 전 점수', 1500);
for (key in sessionStorage){
document.writeln(key+ ' : ' +sessionStorage.getItem(key)+ "<BR/>");
}
// sessionStorage.key(idx); // index에 해당하는 key를 반환.
// sessionStorage.length; // 데이터의 총 갯수;
// sessionStorage.removeItem(key); // 해당 key의 데이터를 지운다.
// sessionStorage.clear(); // 저장된 모든 데이터를 지운다.
function setCookie(key, value, validity){
var date = new Date();
date.setDate(date.getDate() + validity);
document.cookie = key + '=' + escape(value) + ';expires=' + date.toGMTString();
}
function delCookie(key){
setCookie('aff', '', -1);
}
function getCookie(key){
var cookies = document.cookie.split('; '); //공백 중요!
for(idx in cookies){
var keyAndValue = cookies[idx].split('=');
if (keyAndValue[0]==key) return keyAndValue[1];
}
}
////////////////////////////// new Date(); //////////////////////////////
getFullYear()
getMonth()
getDate()
getDay()
gethours()
getMinutes()
getSeconds()
setDate()
setFullYear()
////////////////////////////// new Image(); //////////////////////////////
////////////////////////////// new Worker(); //////////////////////////////
////////////////////////////// 웹성능에 영향X, 백그라운드에서 실행, 멀티스레드 구현, Worker에서는 DOM객체에는 접근 불가(UI처리 불가) => UI와 로직을 분리하여 연산 가능
// worker = new Worker("demo_workers.js");
worker.onmessage = function (event) {
document.writeln(event.data);
};
////////////////////////////// new WebSocket(); //////////////////////////////
////////////////////////////// new SpeechSynthesisUtterance(); //////////////////////////////
// 재밌는 TTS예제 ㅋㅋㅋ
<script>
var msg = new SpeechSynthesisUtterance();
msg.lang = 'en-US'; //영어:en-US, 한국어:ko-KR, 일본어:ja-JP
function ttsTest(text){
msg.text = text;
speechSynthesis.speak(msg);
}
</script>
<input id="speakText" type="text" value='TTS 테스트 입니다.' >
<input type="button" onclick="ttsTest(speakText.value);" value="읽기" >
// var voices = speechSynthesis.getVoices();
// msg.voice = voices[9];
// Note: some voices don't support altering params
// msg.voiceURI = 'Google 한국의';
// msg.voiceURI = 'native';
// msg.volume = 0; // 0 to 1
// msg.rate = 0.1; // 0.1 to 10
// msg.pitch = 0.1; //0 to 2
'LANGUAGE > HTML & CSS & JS' 카테고리의 다른 글
API - FACEBOOK (0) | 2015.05.04 |
---|---|
API - GOOGLE MAPS (0) | 2015.05.04 |
JQuery Mobile (0) | 2015.05.04 |
HTML (0) | 2015.04.28 |
CSS (0) | 2015.04.28 |