함수는 원래 userId.onchange = checkid()로 해야되는거 아닌가요? 되게 헷갈리네
댓글 8
그렇게 따지면 .onchange를 쓰면 안되지
익명(1.221)2022-02-08 12:54
누가 리스너 on 접두사 붙는 필드에 지정하라고 하디
익명(1.221)2022-02-08 12:54
해당 프로퍼티는 특정 이벤트가 발생했을때 콜백으로 실행되니까
할당시에 호출하지 않지
ryu(ashrad)2022-02-08 13:00
함수가 값으로 인식될 수 있음. '()' 이건 함수를 실행하는 오퍼레이터라고 생각하셈.
익명(180.71)2022-02-08 13:07
답글
그럼 userId.onchange = checkid()는 onchange에 checkid라는 함수를 실행해서 값을 넣어주라라는 의미이고 userId.onchange = checkid 는 함수 자체를 넣으라는 말임. 그럼 userId 입장에서 저함수 저장해놓고 있다가 꼴릴 떄 '()' 붙여서 실행시킬 수 있는거지 (change시점에)
익명(180.71)2022-02-08 13:08
실행 결과를 이벤트에 붙이느냐 vs 이벤트 발생시 넘어오는걸 붙이느냐 차이. 길게 대답 귀찮다
그렇게 따지면 .onchange를 쓰면 안되지
누가 리스너 on 접두사 붙는 필드에 지정하라고 하디
해당 프로퍼티는 특정 이벤트가 발생했을때 콜백으로 실행되니까 할당시에 호출하지 않지
함수가 값으로 인식될 수 있음. '()' 이건 함수를 실행하는 오퍼레이터라고 생각하셈.
그럼 userId.onchange = checkid()는 onchange에 checkid라는 함수를 실행해서 값을 넣어주라라는 의미이고 userId.onchange = checkid 는 함수 자체를 넣으라는 말임. 그럼 userId 입장에서 저함수 저장해놓고 있다가 꼴릴 떄 '()' 붙여서 실행시킬 수 있는거지 (change시점에)
실행 결과를 이벤트에 붙이느냐 vs 이벤트 발생시 넘어오는걸 붙이느냐 차이. 길게 대답 귀찮다
모두들 ㄳㄳ요
자바 먼저 하고 오니깐 좀 많이 헷갈리네요;;