58-65
JS 함수
JS 함수는 세 종류로 나뉜다
Title
<!-- -->
function f(arg) {
return arg+1
}
setInterval("f()",5000)
Title
<!-- -->
setInterval(function () {
console.log(123);
},5000)
코드: 익명 함수는 함수 이름이 없습니다. setInterval을 통해 정해진 시간에 실행할 수 있습니다.
Title
<!-- -->
(function (arg) {
console.log(arg);
})(1)
코드: 함수를 만들고 자동으로 실행합니다.프로그램이 실행될 때, 이런 종류의 함수는 자동으로 실행되며, 함수 이름도 없고, 주동적으로 호출할 필요도 없다.
JS 서열화 및 이스케이프
서열화
위 그림: 목록 설정하기;JSON을 통해서.stringify (li) 는 그룹을 문자열로 변환합니다.JSON을 통해서.parse는 문자열을 그룹으로 변환합니다.
위 그림:query=뒤의 내용을 encodeURL () 을 통해 백분호 + 알파벳 또는 숫자로 바꾸면 전의된 링크를 얻을 수 있다.물론 저희도 decode URL을 통해 반의할 수 있습니다.
위 그림: encodeURLComponent (url) 를 사용하면 앞뒤로 더 많은 내용을 연결할 수 있습니다
전의는 브라우저의 쿠키를 대상으로 하는 것이다.예를 들어 사용자가 브라우저를 사용하여 웹 서버에 접근할 때 보통 서버가 자신의 캐시(cookie) 동작을 기억하도록 한다. 그러면 서버는 이런 데이터를 설명하여 의미를 바꾸어 사용자 브라우저의 로컬 하드디스크에 저장한다. 다음에 사용자가 다시 방문할 때 로컬 하드디스크에 해당하는 의미 데이터가 있기 때문에 서버는 해당하는 의미 데이터를 직접 읽는다.사용자가 새로 중복된 조작을 할 필요가 없다.
eval
python에서 eval은 문자열을python의 표현식exec로 직접 변환하여 코드를 실행할 수 있습니다
JS에서의 eval은python에서의 eval과exec기능을 동시에 만족시켰다
시간
Date 클래스 var d = new Date () 여기서 new를 사용하여 대상을 만듭니다.이 시간
위 그림: 시간을 d에 할당
위의 그림: d. 시간, 분, 초 등 많은 속성을 호출할 수 있습니다.
위 그림: 현재 분 가져오기;데이터를 가져오면 get을 사용합니다.
위 그림: 가져올 분 + 10
위 그림: set를 사용하여 설정합니다.d 이 시간의 분수를 n의 값으로 설정(30);그림에서 분수가 30이 된 것을 볼 수 있다.
역할 영역
함수를 역할 영역으로 (let) : ( )
public void Func(){
if(1==1){
string name = 'Java';
}
console.writeline(name);
}
Func()
//
Python:
:
def func():
if 1==1:
name = 'alex'
print(name)
func()
//
:
def func():
if 1==1:
name = 'alex'
print(name)
func()
print(name)
//
JavaScript:
function func(){
if(1==1){
var name = 'alex';
}
console.log(name);
}
func()
함수의 작용역은 함수가 호출되기 전에 이미 만들어졌다function func(){
if(1==1){
var name = 'alex';
}
console.log(name);
}
이 함수는 아직 호출되지 않았지만, 이미 컴파일되었다
함수의 작용역은 작용역 체인이 존재하고 호출되기 전에 생성된다
python에서 eval은 문자열을python의 표현식exec로 직접 변환하여 코드를 실행할 수 있습니다
JS에서의 eval은python에서의 eval과exec기능을 동시에 만족시켰다
시간
Date 클래스 var d = new Date () 여기서 new를 사용하여 대상을 만듭니다.이 시간
위 그림: 시간을 d에 할당
위의 그림: d. 시간, 분, 초 등 많은 속성을 호출할 수 있습니다.
위 그림: 현재 분 가져오기;데이터를 가져오면 get을 사용합니다.
위 그림: 가져올 분 + 10
위 그림: set를 사용하여 설정합니다.d 이 시간의 분수를 n의 값으로 설정(30);그림에서 분수가 30이 된 것을 볼 수 있다.
역할 영역
함수를 역할 영역으로 (let) : ( )
public void Func(){
if(1==1){
string name = 'Java';
}
console.writeline(name);
}
Func()
//
Python:
:
def func():
if 1==1:
name = 'alex'
print(name)
func()
//
:
def func():
if 1==1:
name = 'alex'
print(name)
func()
print(name)
//
JavaScript:
function func(){
if(1==1){
var name = 'alex';
}
console.log(name);
}
func()
함수의 작용역은 함수가 호출되기 전에 이미 만들어졌다function func(){
if(1==1){
var name = 'alex';
}
console.log(name);
}
이 함수는 아직 호출되지 않았지만, 이미 컴파일되었다
함수의 작용역은 작용역 체인이 존재하고 호출되기 전에 생성된다
함수를 역할 영역으로 (let)
: ( )
public void Func(){
if(1==1){
string name = 'Java';
}
console.writeline(name);
}
Func()
//
Python:
:
def func():
if 1==1:
name = 'alex'
print(name)
func()
//
:
def func():
if 1==1:
name = 'alex'
print(name)
func()
print(name)
//
JavaScript:
function func(){
if(1==1){
var name = 'alex';
}
console.log(name);
}
func()
함수의 작용역은 함수가 호출되기 전에 이미 만들어졌다
function func(){
if(1==1){
var name = 'alex';
}
console.log(name);
}
이 함수는 아직 호출되지 않았지만, 이미 컴파일되었다
함수의 작용역은 작용역 체인이 존재하고 호출되기 전에 생성된다
xo = "alex";
function func(){
var xo = 'eric';
function inner(){
var xo = 'tony';
console.log(xo);
}
inner()
}
func()
코드: 함수 삽입 함수를 작용역 체인이라고 합니다.
xo = "alex";
function func(){
var xo = 'eric';
function inner(){
// var xo = 'tony';
console.log(xo);
}
inner()
}
func()
xo = "alex";
function func(){
var xo = 'eric';
function inner(){
// var xo = 'tony';
console.log(xo);
}
inner()
}
func()
코드: 역할 영역 밖의 변수를 호출할 수 없기 때문에 오류를 보고합니다.
xo = "alex";
function func(){
var xo = 'eric';
function inner(){
console.log(xo);
}
return inner;
}
var ret = func()
ret()
xo = "alex";
function func(){
var xo = 'eric';
function inner(){
console.log(xo);
}
var xo = 'tony';
return inner;
}
var ret = func()
ret()
코드:xo를 인쇄한 결과는tony입니다.위에서 아래로xo='eric', 그리고 inner 함수에 도착했습니다. 그러나 현재 여기는 inner 함수를 호출하지 않았습니다. 그리고xo는'tony'로 다시 부여되었습니다. 마지막으로ret()가 호출되었을 때xo는'tony'로 다시 부여되었습니다. 그래서 여기는'tony'로 인쇄되었습니다.
함수 내 국부 변수 성명 앞당기기 function func(){
console.log(xo);
}
func();
// xo ,
function func(){
console.log(xo);
var xo = 'panda';
}
:var xo;
func();
// , , undefined, console.log(xo) undefined; var xo = 'alex', xo 'panda'; console.log(xo) ,name 'panda'。
JS 객체 및 원형 function FOO(n){
this.name = n;
this.sayName = function(){
console.log(this.name)
}
}
var obj1 = new Foo('we');
obj1.name
obj1.sayName
function FOO(n){
this.name = n;
this.sayName = function(){
console.log(this.name)
}
}
var obj1 = new Foo('we');
obj1.name
obj1.sayName
var obj2 = new Foo('you');
obj2.name
obj2.sayName
function Foo(n){
this.name = n;
}
# Foo
Foo.prototype = {
'sayName': function(){
console.log(this.name)
}
}
obj1 = new Foo('we');
obj1.sayName()
obj2 = new Foo('you');
코드: Foo 클래스 만들기;Foo 클래스를 사용하여 원형을 만듭니다. 이 원형은 메모리에 하나만 존재합니다.클래스의sayName () 방법을 호출할 때, 이 클래스의 원형을 찾아갑니다. 메모리에 원형이 하나밖에 없습니다.이렇게 하면 우리가 몇 개의 대상을 만들어서sayName () 을 호출해도 원형에서만 호출할 수 있기 때문에 메모리 자원을 절약할 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Portswigger의 연구실 작성: CSRF 토큰 보호를 사용한 기본 클릭재킹
이 견습생 수준 실습에서는 일부 CSRF 토큰 보호가 있음에도 불구하고 클릭재킹에 취약한 웹사이트에서 계정 삭제 흐름을 악용합니다.
주어진 자격 증명으로 로그인하면 계정 페이지로 이동한 후 사용자 계정을 삭제하는 데...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
function func(){
console.log(xo);
}
func();
// xo ,
function func(){
console.log(xo);
var xo = 'panda';
}
:var xo;
func();
// , , undefined, console.log(xo) undefined; var xo = 'alex', xo 'panda'; console.log(xo) ,name 'panda'。
function FOO(n){
this.name = n;
this.sayName = function(){
console.log(this.name)
}
}
var obj1 = new Foo('we');
obj1.name
obj1.sayName
function FOO(n){
this.name = n;
this.sayName = function(){
console.log(this.name)
}
}
var obj1 = new Foo('we');
obj1.name
obj1.sayName
var obj2 = new Foo('you');
obj2.name
obj2.sayName
function Foo(n){
this.name = n;
}
# Foo
Foo.prototype = {
'sayName': function(){
console.log(this.name)
}
}
obj1 = new Foo('we');
obj1.sayName()
obj2 = new Foo('you');
코드: Foo 클래스 만들기;Foo 클래스를 사용하여 원형을 만듭니다. 이 원형은 메모리에 하나만 존재합니다.클래스의sayName () 방법을 호출할 때, 이 클래스의 원형을 찾아갑니다. 메모리에 원형이 하나밖에 없습니다.이렇게 하면 우리가 몇 개의 대상을 만들어서sayName () 을 호출해도 원형에서만 호출할 수 있기 때문에 메모리 자원을 절약할 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Portswigger의 연구실 작성: CSRF 토큰 보호를 사용한 기본 클릭재킹이 견습생 수준 실습에서는 일부 CSRF 토큰 보호가 있음에도 불구하고 클릭재킹에 취약한 웹사이트에서 계정 삭제 흐름을 악용합니다. 주어진 자격 증명으로 로그인하면 계정 페이지로 이동한 후 사용자 계정을 삭제하는 데...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.