&&연산자 var cnt = 2;var n = cnt==2 && 3;print(n) // n = 3; var cnt = 1;var n = cnt==2 && 3;print(n) // false; &&연산자 왼쪽피연산자가 true이면 오른쪽 피연산자를 반환한다.(cnt==2) 는 true임으로 3을 반환 왼쪽피연산자가 거짓이면 왼쪽피연산자를 반환한다. cnt==2 는 false 임으로 false 를 반환 자~꾸 까먹어서 코드/JS 2013.11.28
프로토타입 심화 원본글 링크: http://cafe.naver.com/hacosa?1310101133000 개요 자바스크립트는 이전 강좌에서 말한 것처럼 확장을 전혀 고려하지 않는 함수 기반 형태로 주로 사용되고 있다. 하지만 웹 기술은 나날이 발전 하고 있고 쇼핑몰의 장바구니, 블로그 관리 페이지에서 볼 수 있는 통계 UI 등과 같은 인터랙티브 요소를 제공하는 사이트들이 점점 많아지고 있다. 그렇다면 자바스크립트와 그 확장에 있어서 중요한 것은 무엇일까? 그건 바로 프로토타입이다. Ajax과 최근에 대세(?)가 되고 있는 HTML5에 대한 관심이 방대한 자바스크립트 라이브러리와 대규모 웹 기반 어플리케이션 개발을 증폭시켰고, 이로 인해 확장성의 중요성이 한층 높아졌다. 프로토타입 자바스크립트에서 함수(또는 클래스)는 .. 코드/JS 2013.11.26
프로토타입체인 var Test = function() { this.print = function() {console.log('this print');} }; Function.prototype.print = function(){console.log('Function.prototype.print');}; Object.prototype.print=function(){console.log('Object.prototype.print');}; Test.prototype.print = function(){console.log('Test.prototype.print');}; Test.print = function(){console.log('Test static print');}; Test.print();//정적 메서드 static .. 코드/JS 2013.11.26
제이쿼리 요소 존재 확인, 자식요소존재 확인 1. length 사용 $('element').length == 0; // no element found Here is a picture of me: 2. not 과 has 를 쓴다 EX- $('.clickedElement').live('click',function(){ //does the green check mark exist? if so then do nothing, else $('#listItem).append(''); }); solution- $('#listItem:not(:has(.greenCheckMark))') .append(''); http://stackoverflow.com/questions/3365181/jquery-detect-if-element-exists 코드/JS 2013.11.22
숫자 3단위마다 콤마 삽임 // 숫자 타입에서 쓸 수 있도록 format() 함수 추가 Number.prototype.format = function(){ if(this==0) return 0; var reg = /(^[+-]?\d+)(\d{3})/; var n = (this + ''); while (reg.test(n)) n = n.replace(reg, '$1' + ',' + '$2'); return n; }; // 문자열 타입에서 쓸 수 있도록 format() 함수 추가 String.prototype.format = function(){ var num = parseFloat(this); if( isNaN(num) ) return "0"; return num.format(); }; // 숫자 타입 test var num = 1.. 코드/JS 2013.11.21
Javascript DOM Ready If you want to reproduce the jQuery's document.ready event, you can use the onreadystatechange or DOMContentLoaded events where applicable: function domReady () { document.body.className += " javascript"; // ... } // Mozilla, Opera, Webkit if ( document.addEventListener ) { document.addEventListener( "DOMContentLoaded", function(){ document.removeEventListener( "DOMContentLoaded", arguments.call.. 코드/JS 2013.10.23
jquery ready DOM에 접근 할 때 완전히 생성되지 않은 DOM객체를 참조하려고 하면 문제가 발생한다. 그래서 onload 이벤트에 핸들러를 걸어주는데,onload 는 모든 리소스가 로드되고나서 발생하는 이벤트란 거다. 그러한 단점을 보완하기 위해서 jquery에서는 ready는 함수를 제공한다. ready는 DOM에 접근할 수 있는 시점을 알려준다. ie에서는 모질라계통 브라우저에서 지원하는 DOMContentLoaded functionality 가 없다. 그 비슷한 기능을 defer 속성을 이용해서 구현해 놓았다. defer속성은 W3C 표준 속성이지만 모질라 계열에서는 지원안하는거같다. 코드/JS 2013.10.23
ie6에서 png 이미지 디스플레이 CSS img{background: transparent;-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)"; /* IE8 */filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);/* IE6 & 7 */zoom: 1;}.png24{tmp:expression(setPng24(this))} JavsScript function setPng24(obj) { obj.width=obj.height=1; obj.className=obj.className.repla.. 코드/JS 2013.10.10
제이쿼리 여러 함수 플러그인 작성 /*-------------- .js * / (function($){var myMagic = {init : function(params, params2, params3){console.log('this is init = ', params, params2, params3) },addController : function(params){ },addPager : function(params){ }}; jQuery.fn.magic = function(magicName){console.log(Array.prototype.slice.call(arguments, 1)) /* 실제로 얘는 ['AAA', 'BBB', 'CCC'] 배열을 토해낸다 Array.prototype.slice.call(arguments, 0)) .. 코드/JS 2013.08.23
(function($){...})(jQuery) At the most basic level, something of the form (function(){...})() is a function literal that is executed immediately. What this means is that you have defined a function and you are calling it immediately.This form is useful for information hiding and encapsulation since anything you define inside that function remains local to that function and inaccessible from the outside world (unless you s.. 코드/JS 2013.07.12