외로운 Nova의 작업실

자바스크립트 유용한 기능들 본문

Programming/Javascript&Html

자바스크립트 유용한 기능들

Nova_ 2023. 2. 15. 15:51

- Unicode escape sequence

괄호를 제외한 문자들을 코드문자로 변경할 수 있습니다. 예시를보면 빠른 이해가 됩니다. 아래는 기본적인 alert()함수예제입니다.

alert(1)

위 코드를 유니코드 문자를 사용해서 아래와 같이 사용할 수 있습니다. 유니코드 0061은 a입니다.

\u0061lert(1)

아스키코드는 안되지만 유니코드는 가능합니다.

 

- Computed member access

딕셔너리 객체에 접근할때 문자열을 연산할 수 있습니다. 아래는 기본적인 document객체입니다.

document("cookie")

위 코드를 아래와 같이 변경할 수 있습니다.

document["coo" + "kie"]

아래와 같이 문자열의 경우 아스키코드값도 집어넣을 수 있습니다.

document['loc\x61'+'tion']

 

- RegExp 객체를 이용

RegExp 객체는 정규표현식을 만들때 사용하는 것인데, .source 부분을 이용해 문자열을 가져올 수 있습니다. 정규표현식은 /정규표현식/으로 표현합니다. 아래는 RegExp 정규표현식에서 문자열을 가져오는 예시입니다.

/Hello World!/.source;  // "Hello World!"

 

- 내장함수 및 객체 이용

내장객체인 history를 이용해 문자들을 가져올 수 있는 기능이 있습니다. history.toString 문자열을 찍어보면 아래와 같습니다.

따라서 아래와 같이 문자들을 가져올 수 있습니다.

var baz = history.toString()[8] + // "H"
(history+[])[9] + // "i"

또한 내장 객체인 URL을 문자열로 만들기위해 +1이나 +2를 붙여주면 문자열로 변경되고 이부분에서 문자들을 가져올 수 있습니다. URL+1의 값은 아래와 같습니다.

(URL+0)[12] + // "("
(URL+0)[13]; // ")" ==> "Hi()"

 

-  javascript 스키마

스키마를 http가 아닌 javascript로 두면 자바스크립트 프로토콜로 전환되어 자바스크립트를 실행할 수 있습니다. 단, 웹서버가 가동중인 곳에서만 가능합니다.

location="javascript:alert(8document.domain);"

 

'Programming > Javascript&Html' 카테고리의 다른 글

URL 유용한 기능들  (0) 2023.02.15
HTML 인코딩  (1) 2023.02.15
Comments