[JavaScritpt] var, let, const란


들어가며....

  • 소스를 봤는데 스크립트부분에 뜬금없이 let이란게 튀어나오길래 이게 뭔가 싶어서 알아보기 시작했다.

선요약 : ES6(es6 , 에크마 스크립트?) 에서 새로 생긴 녀석임 변수를 선언하는 방법임 /  var보다는 let / const를 사용하자

 

특징 var vs let / const

 
var
let/cont
비고
변수 선언 전 접근가능(undefined가 리턴됨)불가능
console.log(foo); // 에러
//---------------------------
console.log(foo); //undefined
var foo;      // 선언보다 사용을 먼저하려고해도 코드는 작동한다. 
              //이현상이 궁금하면 호이스팅(Hoisting)을 알아보도록하자
  
//---------------------------
console.log(foo)     //에러
let foo;       
변수 중복선언가능불가능
var foo = 'aa';
var foo = 'bb';       //가능
let foo = 'qwe';
let foo = 'asd';    //에러
스코핑유효범위가 블록{}을 넘어선다유효범위가 블록{}안이다
var foo = 'aa'
console.log(foo)    // aa
if(true) {
  var foo = "bb"
  console.log(foo) // bb
}
console.log(foo) //bb
let foo = "aa"
console.log(foo)    //aa
if(true){
  let foo = "bb"
  console.log(foo)   //bb
}
console.log(foo)    // aa 
  

 

let과 const의 차이

  • const는 이름만 봐서는 상수라고 보인다.
  • 실제로 원시형(Primitives type : string, number , boolean, null, undefined)에서는 상수로 동ㅈ가한다. 
  • 그래서 초기값을 설정하지않거나, 재할당하려고하면 에러가난다. 
  • const foo ;    //에러
    ----------------------
    const foo = 0 ;
    foo = 1 ;   //에러
      
  • 참조형( Complex type: array, object, function)의 경우는 const로 선언해도 멤버값 조작이 가능하다.
  • const foo = [0, 1];
    const bar = foo;
      
    foo.push(2);
    bar[0] = 10;
      
    console.log( foo, bar)      //[10, 1, 2] , [10, 1, 2]
  • 위에서처럼 bar는 foo를 참조한다. 참조가아니고 copy하고싶으면  array는 ...연산자를 사용하고, object는 assign() 함수를 사용한다.
  • const arg = [0, 1];
    const obj = {foo: 'bar'};
      
    const newArg = [...arg];
    const newObj = Ojbect.assign({}, obj);
      
    newArg[0] = 10;
    newObj.foo = 'rab';
      
    console.log(arg, obj);
    // [0, 1], {foo: 'bar'}
      
    console.log(newArg, newObj);
    // [10, 1], {foo: 'rab'}

결론적으로 

  • ES6 에서는 var는 지양하고 가급적 let과 const를 사용하자
  •  원시형에서 변수는 let, 상수는 const로 선언한다
  • 참조형은 const로 선언한다


[ajax]radio.value udefined오류 


ajax를 사용할때 radio.value를 사용할경우 undefinded값이 뜬다.


예를들어 


<form name=frm>

<input type=radio name=rad value=1/>

<input type=radio name=rad value=2/>

</form>


이런식일경우 

var frm = document.frm;

$.ajax({

 type:"post",

 url: myurl ,

 async: true,

 data: {

    rad : frm.rad.value

  },

 success{

  //  dosomething

 }

});



이렇게 코드를 짜면 브라우저에 따라서 정상적으로 선택된 radio value를 넘겨주는 경우도 있지만 

undefined가 나는 경우도 생긴다.

이경우 오류잡느라 1시간 반 걸리니 주의하자.

  1. 1466246417 2016.06.18 19:40 신고

    반가와요

1. jQuery로 선택된 값 읽기

 

$("#selectBox option:selected").val();

$("select[name=name]").val();

 

2. jQuery로 선택된 내용 읽기

 

$("#selectBox option:selected").text();

 

3. 선택된 위치

 

var index = $("#test option").index($("#test option:selected"));

 

4. Add options to the end of a select

 

$("#selectBox").append("<option value='1'>Apples</option>");

$("#selectBox").append("<option value='2'>After Apples</option>");

 

5. Add options to the start of a select

 

$("#selectBox").prepend("<option value='0'>Before Apples</option>");

 

6. Replace all the options with new options

 

$("#selectBox").html("<option value='1'>Some oranges</option><option value='2'>MoreOranges</option>");

 

7. Replace items at a certain index

 

$("#selectBox option:eq(1)").replaceWith("<option value='2'>Someapples</option>");

$("#selectBox option:eq(2)").replaceWith("<option value='3'>Somebananas</option>");

 

8. 지정된 index값으로 select 하기

 

$("#selectBox option:eq(2)").attr("selected", "selected");

 

9. text 값으로 select 하기

 

$("#selectBox").val("Someoranges").attr("selected", "selected");

 

10. value값으로 select 하기

 

$("#selectBox").val("2");

 

11. 지정된 인덱스값의 item 삭제

 

$("#selectBox option:eq(0)").remove();

 

12. 첫번째 item 삭제

 

$("#selectBox option:first").remove();

 

13. 마지막 item 삭제

 

$("#selectBox option:last").remove();

 

14. 선택된 옵션의 text 구하기

 

alert(!$("#selectBox option:selected").text());

 

15. 선택된 옵션의 value 구하기

 

alert(!$("#selectBox option:selected").val());

 

16. 선택된 옵션 index 구하기

 

alert(!$("#selectBox option").index($("#selectBox option:selected")));

 

17. SelecBox 아이템 갯수 구하기

 

alert(!$("#selectBox option").size());

 

18. 선택된 옵션 앞의 아이템 갯수

 

alert(!$("#selectBox option:selected").prevAl!l().size());

 

19. 선택된 옵션 후의 아이템 갯수

 

alert(!$("#selectBox option:selected").nextAll().size());

 

20. Insert an item in after a particular position

 

$("#selectBox option:eq(0)").after("<option value='4'>Somepears</option>");

 

21. Insert an item in before a particular position

 

$("#selectBox option:eq(3)").before("<option value='5'>Someapricots</option>");

 

22. Getting values when item is selected

 

$("#selectBox").change(function(){

           alert(!$(this).val());

           alert(!$(this).children("option:selected").text());

});

'웹프로그래밍 > jQuery' 카테고리의 다른 글

JQuery Select Box 제어  (0) 2015.04.15
jQuery 로 이미지 사이즈 구하기  (0) 2015.04.01
[jQuery] replace 사용시 팁  (0) 2014.07.16

MSSQL 에서 Getdate()함수로 얻은 포맷 자유로이 변환하기

--Getdate()
Select Getdate()

--YYYY/MM/DD
Select Convert(varchar(10),Getdate(),111)

--YYYYMMDD
Select Convert(varchar(10),Getdate(),112)

--HH:MM:SS
Select Convert(varchar(8),Getdate(),108)

--HH:MM:SS:mmm
Select Convert(varchar(12),Getdate(),114)

--HHMMSS
Select Replace(Convert(varchar(8),Getdate(),108),':','')

--HHMMSSmmm
Select Replace(Convert(varchar(12),Getdate(),114),':','')

--YYYY/MM/DD HH:MM:SS
Select Replace(Convert(varchar(30),Getdate(),120),'-','/')

--YYYY/MM/DD HH:MM:SS
Select Replace(Convert(varchar(30),Getdate(),121),'-','/')

--YYYY/MM/DD HH:MM:SS
Select Convert(varchar(10),Getdate(),111) + Space(1) + Convert(varchar(8),Getdate(),108)

--YYYYMMDDHHMMSS
Select Convert(varchar(10),Getdate(),112) + Replace(Convert(varchar(8),Getdate(),108),':','')



출처:http://egloos.zum.com/aslike/v/1627250

[ASP Classic]ASP  배열 반복문 사용


JAVA와 ASP를 같이 사용하다보면 했갈리는게 제법 있습니다.

자바로 예를들어서 

int[] arr = new int[3];


for( int i = 0 ; i < arr.length ; i++){

  //do someting

같은 반복문을 쓰고싶은데 

ASP로 사용할려면 문법이 많이 다르기때문에 생각이 잘 안나는 경우가 있습니다.


그럴떄 참고하려고 포스팅을 남겨놓습니다.


ASP CODE


Dim arr(5)


For i to Ubound(arr)

'do something

Next

jQuery 로 이미지 사이즈 구하기 

알아두면 유용하게 쓰일날이 꼭 온다. 

<span id="tempImg"></span> 

<script> 

var imgName = "aaa.gif";//경로 + 이미지명 
var imgId = "myimg"//이미지 아이디 

$("#tempImg").html("< img src='"+imgName +"' id='"+imgId+"'/>"); 

$("#tempImg img").load(function () { //이미지가 로딩이 완료 된 후 

var w = $("#" + imgId).width();//width 구하기 
var h = $("#" + imgId).height();//height 구하기 

alert(w + ":" + h); 
}); 

</script> 

'웹프로그래밍 > jQuery' 카테고리의 다른 글

JQuery Select Box 제어  (0) 2015.04.15
jQuery 로 이미지 사이즈 구하기  (0) 2015.04.01
[jQuery] replace 사용시 팁  (0) 2014.07.16

[ASP Classic] 형변환


Cint 함수 : integer형으로 변환

사용법 : Cint(변수)

 

 

Clng 함수 : long형으로 변환

사용법 : Clng(변수)

 

 

 

Cstr 함수 : string형으로 변환

사용법 : Cstr(변수)

 

 

 

Cdbl 함수 : double형으로 변환

사용법 : Cdbl(변수)

 

 

 

Csng 함수 : single형으로 변환

사용법 : Csng(변수)

 

 

 

Cdate 함수 : date(날짜)형으로 변환

사용법 : Cdate(변수)


 

Round() 함수 :  반올림 함수

         사용법 : Round(변수)

 

 

Fix() 함수 :  버림 함수

     사용법 : Fix(변수)

JavaScript] 조건부 연산자 <삼항연산자(?연산자)> 

조건에 따라 두 식 중 하나를 반환합니다.

test ? expression1 : expression2 

 

test

임의의 Boolean 식입니다.

expression1

test is true." xml:space="preserve"><sentencetext xmlns="http://www.w3.org/1999/xhtml">이면 식이 반환된 test 는 true.</sentencetext> 쉼표 식이 될 수 있습니다.

expression2

test is false." xml:space="preserve"><sentencetext xmlns="http://www.w3.org/1999/xhtml">이면 식이 반환된 test 는 false.</sentencetext> 여러 개의 식을 쉼표로 식으로 연결 될 수 있습니다.

?: operator can be used as a shortcut for an if...else statement." xml:space="preserve" style="color: rgb(42, 42, 42); font-family: 'Malgun Gothic', Gulim, 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.5;"><sentencetext xmlns="http://www.w3.org/1999/xhtml">?: 연산자는 if...else 문의 단축형으로 사용할 수 있으며</sentencetext> if...else statement would be awkward." xml:space="preserve" style="color: rgb(42, 42, 42); font-family: 'Malgun Gothic', Gulim, 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.5;">일반적으로 if...else 문을 사용하면 너무 복잡해지는 식에서 사용합니다. 예를 들면 다음과 같습니다.

var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");

현재 시각이 오후 6시 이후이면 이 예제는 "Good evening."이라는 문자열을 만듭니다.  if...else statement would look as follows:" xml:space="preserve">if...else 문을 사용하여 동일한 기능을 가진 코드를 작성하면 다음과 같습니다.

var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
   greeting += " evening.";
else    
greeting += " day."; 


[ASP Classic] INSTR() 함수

<%

str = "search list"
chk = Instr(str,"list")
Response.Write chk
%>

대상 문자열에서 지정한 문자열이 있으면 몇번째에 있는지 숫자를 반환하고, 없으면 0 을 반환한다.
PHP 의 substr 과 같은 역할을 하는 함수.
주의할점은, 대소문자를 구별하므로, 대소문자가 틀릴경우 0 을 반환하며,
대소문자 구별없이 찾으려면 먼저 UCase 또는 LCase 로 변환한후 비교하여야 한다.



[ASP Classic] FormatDateTime함수 날짜 형식으로 바꾸기


오늘은 변수의 형식을 날짜형식으로 바꾸는 FormatDateTime 함수에 대해 알아보도록 하겠습니다.


날짜와 시간으로 서식화된 식을 반환한다.

구문 : FormatDateTime(Date[,NamedFormat])

● Date : 필수 요소이다. 서식화할 날짜식을 나타낸다. 
● NamedFormat : 선택 요소이다. 사용되는 날짜/시간 서식을 나타내는 숫자값이다. 이 값을 생략하면 vbGeneralDate가 사용된다.

 

--------------------------------------------------------------------------------------------------- 
상수       값  설명 
vbGeneralDate  0   날짜 및 시간을 표시한다. 날짜 부분이 있으면 간단하게 표시 날짜로 표시한다. 시간 부분이 있으면 자세하게 표시 시간 형식으로 표시한다. 날짜와 시간이 모두 있으면 둘 다 표시된다. 
vbLongDate   1   시스템의 국가별 설정에 지정된 자세하게 표시 날짜 서식을 사용하여 날짜를 표시한다. 
vbShortDate   2   시스템의 국가별 설정에 지정된 간단하게 표시 날짜 서식을 사용하여 날짜를 표시한다. 
vbLongTime   3  시스템의 국가별 설정에 지정된 시간 서식을 사용하여 시간을 표시한다. 
vbShortTime   4  24시간 서식(hh:mm)을 사용하여 시간을 표시한다. 
--------------------------------------------------------------------------------------------------- 



예제.

Dim date_time

date_time = "2014-05-06"

response.write date_time

date_time = FormatDateTime(date_time)

response.write date_time 

date_time = formatDateTime(date_time , 1)

response.write date_time


끝.


....


출력결과


2014-05-06

2014년 7월 23일 수요일

+ Recent posts