• Home
  • About
    • Junseok photo

      Junseok

      개발자 블로그

    • Learn More
    • Facebook
    • Instagram
    • Github
  • Posts
    • All Posts
    • All Tags
  • Java
    • java-basic
    • java-solid
    • java-pattern
    • java-logging
  • Javascript
  • Angular
  • spring
    • spring-framework
    • spring-boot
    • spring-test
  • server
    • jeus
    • webtob
    • tomcat
  • test
    • junit
    • assertj
    • hamcrest
    • dbunit
    • spring
  • docker
  • unix
  • maven
  • db
  • network
  • eclipse
  • intellij
  • microservices
  • etc

javascript 기초 문법

07 Sep 2017

Reading time ~1 minute

  • select 자기 자신만 체크(readonly 기능 비슷)
$("[name='APC_DIV_CODE']").attr("onFocus", "this.initialSelect = this.selectedIndex");
$("[name='APC_DIV_CODE']").attr("onChange", "this.selectedIndex = this.initialSelect");
  • radio 자기 자신 외에는 체크 못함(readonly 기능 비슷)
$("[name='PRUS_SHPE_CODE']:not(:checked)").prop("disabled", true);
  • focusout 포커스 out 될 때
$('.hrm_number').focusout(function(){
  $(this).val(addComma($(this).val()));
});
  • focusin 포커스 in 될 때
$('.hrm_number').focusin(function(){
  $(this).val(delComma($(this).val()));
});
  • each selector에 속한 것 모두 실행
$('.hrm_number').each(function(){
  $(this).val(addComma($(this).val()));
});
  • 문자열 - 오브젝트(object) 객체 타입 참고 : serializeObject() 와 유사하지만 serializeObject()는 로직이 더 복잡함
var reqObj = null;
var paramArr = $("#frm1").serializeArray();

if(paramArr){
  reqObj = {};

  $.each(paramArr, function(){
    reqObj[this.name] = this.value;
  });
}
  • 바이트 계산 (개선된 for문 비트 연산) 글자 수 계산 ~~~javascript var stringByteLength = 0;

function getByte(str){

stringByteLength = (function(s, b, i, c){

for(b=i=0; c=s.charCodeAt(i++); b+=c>>11?3:c>>7?2:1);
return b   })(str);

console.log(stringByteLength + “ Bytes”); }


**※ 여기서 c>>11 c>>7 비트 연산을 하는 이유는**  

- 다음 표는 코드 포인트 범위에 따른 UTF-8 인코딩 방식을 보여준다.

|코드|포인트|범위|비트 수|인코딩|
|:----|:---:|:----|
|U+0000~U+007F|7|그대로 인코딩|
|U+0080~U+07FF|11|110xxxxx 10xxxxxx|
|U+0800~U+FFFF|16|1110xxxx 10xxxxxx 10xxxxxx|
|U+10000~U+1FFFFF|21|11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |


> 한글 완성형의 코드 포인트 범위는 U+AC00~U+D7AF이므로,
UTF-8 인코딩에서 한글은 무조건 3바이트 인코딩이다


- 오브젝트(object) 객체 -> 문자열

~~~javascript
$.param(reqObj)
  • 승수 제곱 구하기
    Math.pow(2, 5);		//2의 5승
    Math.pow(3, 7);		//3의 7승
    
  • 10진수 -> 2진수
    var c = "120"
    (Number(c)).toString(2);
    
  • 2진수 -> 10진수
    parseInt(110001010001, 2);
    
  • 비트연산
    29323>>2
    324234<<6
    
  • 자바스크립트 테스트

  • 문자열 복사
    "34".repeat(5)		-- 3434343434
    
  • 문자열 자르기 앞뒤
    "123456789".slice(-1)	-- 9
    "123456789".slice(1, 1)	-- 2345678
    
  • 문자열 배열
    Array(5)  -- 출력하면 ,,,,
    Array(5).join("*") -- 출력하면 ****
    


javascript Share Tweet +1