58-65

5940 단어 web웹 기반

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);
        }

    이 함수는 아직 호출되지 않았지만, 이미 컴파일되었다
    함수의 작용역은 작용역 체인이 존재하고 호출되기 전에 생성된다
  • 예 1
  • 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()

    코드: 역할 영역 밖의 변수를 호출할 수 없기 때문에 오류를 보고합니다.
  • 예 2
  •  xo = "alex";
    
    function func(){
        var xo = 'eric';
        function inner(){
    
            console.log(xo);
        }
    
        return inner;
    }
    
    var ret = func()
    ret() 
  • 예 3
  •  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 () 을 호출해도 원형에서만 호출할 수 있기 때문에 메모리 자원을 절약할 수 있습니다.

    좋은 웹페이지 즐겨찾기