본문 바로가기

javascript

for loop javascript var arr = ['a','b','c'];//var arr = [];for(var i=0, item; item = arr[i]; i++){ console.log(item);} 이렇게도 쓴다. 더보기
Javascript module, 공통 함수 만들기 정리 이번에 공통 함수를 만들 일이 생겼다. 처음에는 그냥 공통 스크립트 파일에 전역 변수로 만들려다가 문득 그건 좀 아닌 거 같다는 생각이 들었고제대로 만들어야 할 것 같아서 이번 기회에 정리를 좀 해볼까 한다.출처는 대부분이 '속 깊은 자바스크립트'다. 1. 그냥 전역변수로 만든 경우 문제점 - 다른 test() 함수가 있는 경우 덮어쓰기가 가능하다.아래와 같이 동일한 function 이 있는 경우 덮어쓰기 돼서 나중에 만든 test()가 호출된다. 또는 이런 즉시실행함수가 있는 경우도 덮어쓰기 가능.// 결과는 fake test fuction! haha의도치 않게 다른 개발자가 만든 함수 이름과 겹치는 경우 요런 문제가 발생할 수 있으므로, 전역 변수 사용은 이제 그만하자. 2. 모듈 생성 후 windo.. 더보기
속 깊은 JavaScript - 양성익 이 책은 처음 읽어보고 너무 감동 받아서 두번 읽은 책이다. 지금까지 내가 썼던 JavaScript 소스는 정말 초보적인 1차원적인 코드들이었구나 그런 생각을 들게 했다.JavaScript의 기초를 튼튼하게 해줌은 물론이고,앞으로의 개발에 깊이까지 더해줄 수 있는 최고의 JavaScript 책이라고 생각한다.책을 읽으면서 저자의 내공에 감탄만 나왔다. 이 책은 틈틈이 읽어도 좋다. 가끔씩 아무 챕터나 펼쳐서 읽어도 재미있게 볼 수 있다. 개인적으로 개발에 입문하는 사람들에게 적극 추천하고 싶다.JavaScript를 넘어 개발의 재미를 느끼게 해주는 그런 책이다. 저자의 다음 저서가 기대된다. 더보기
동기화 처리 javascript는 비동기방식으로 돌아가므로, var arr = ['a','b','c']; for(var i=0; i 더보기
Array.prototype.slice.apply(arguments); function argTest(){console.log(arguments); // {"0":4}Array.prototype.slice.apply(arguments); // 4 Array.prototype.slice.apply({'0':4, '1':5, length:2}) // 4, 5Array.prototype.slice.apply({'0':4, '1':5, length:2}, [1]) // 5Array.prototype.slice.call({'0':4, '1':5, length:2}, 1) // 5} argTest(4); Array.prototype.slice.apply(arguments); arguments는 배열이 아니다. 콘솔로 찍어보면 {"0":4} 이렇게 생긴 오브젝트가 찍힌다.그런데 slic.. 더보기
javascript module에 관한 좋은 글 소개 https://medium.freecodecamp.com/javascript-modules-a-beginner-s-guide-783f7d7a5fcc#.qwnwdnj0s Preethi Kasireddy 라는 사람이 쓴JavaScript Modules: A Beginner’s Guide 이다. 세상은 넓고 고수는 많구나.. javascript 모듈에 관해 이해하는데 큰 도움이 된다. 더보기
jqgrid custom editrules 추가하기 colModel 에 다음과 같이 추가하면 된다. editrules : {custom: true, custom_func:function(value, colname){if(isNaN(value)){return [false, "not a number!"];}else{return [true, ""];}}} 이런 식으로…응용해서 쓰면 되겠다. 더보기
Object에 동적으로 Property 추가 javascript에서 동적으로 Object에 Property를 추가할 일이 생겼다. 총 3가지 방법을 생각해봤는데 하나씩 살펴보면, 1. 스크립틀릿(Scriptlets) 사용 var scritletObj = { "key_1": { "name": "jimmy", "msg": "hello world" }, "key_2": { "name": "billy", "msg": "foo equals bar" }, 더보기