JavaScript 베이스(7)

10353 단어 javascript 전단

함수적 방법


이 두 가지 방법은 모두 함수 대상의 방법으로 함수 대상을 통해this를 호출해야 하는 경우: 1.함수 형식으로 호출할 때,this는 영원히 window2.방법 형식으로 호출,this시 호출 방법의 대상구조 함수 형식으로 호출할 때this에서 새로 만든 대상 4.콜과 apply 호출을 사용할 때this에서 지정한 대상
function fun (){
    alert(" fun ")
}

함수 호출call () 와 apply () 를 호출하면 함수 실행
fun();                        // fun 
fun.apply();                // fun 
fun.call();                    // fun 

콜 () 과 apply () 를 호출하면 대상을 첫 번째 인자로 지정할 수 있습니다. 이 대상은 함수가 실행될 때this가 됩니다.
function fun (){
    alert(this)
}
var obj = {};
fun();                        //object window
fun.call(obj);                //object Object
fun.apply(obj);                //object Object


function fun (){
    alert(this.name)
}
var obj = {name:"obj"};
var obj2 = {name:"obj2"};
fun.apply(obj);                //obj
fun.apply(obj2);            //obj2

function fun (){
    alert(this.name)
}
var obj = {
    name:"obj"
    sayName:function(){
        alert(this.name);
    }
};
var obj2 = {
    name:"obj2"
};

obj.sayName();                            //obj
obj.sayName.apply(obj2);                //obj2

call () 는 실참을 대상 다음에 순서대로 전달할 수 있다
function fun (a,b){
    console.log("a="+a);
    console.log("b="+b);
}
var obj = {name:"obj"};
var obj2 = {name:"obj2"};
fun.call(obj,2,3);                        //a=2 b=3

apply () 방법은 실참을 하나의 수조에 봉하여 통일적으로 전달해야 한다
fun.apply(obj,[2,3]);                    //a=2 b=3

arguments


함수를 호출할 때 브라우저는 매번 두 개의 은밀한 매개 변수를 전달한다.함수의 상하문 대상this2.실삼을 봉인한 대상argumentsarguments는 클래스 그룹의 대상입니다. 색인을 통해 데이터를 조작할 수도 있고, 함수를 호출할 때 우리가 전달한 실삼을 모두 arguments에 저장할 수도 있습니다.length는 실삼의 길이를 얻을 수 있습니다. 우리는 형삼을 정의하지 않더라도arguments를 통해 실삼을 사용할 수 있습니다. 다만 비교적 번거로울 뿐입니다. arguments[0]는 첫 번째 실삼을 나타냅니다. [1]는 두 번째 실삼에 있는 속성이callee라는 속성이 한 함수에 대응하는 대상입니다. 바로 현재 가리키는 함수의 대상입니다.
function fun(){
    console.log(arguments instanceof Array);          //false
    console.log(Array.isArray(arguments));            //false
    console.log(arguments[1]);                        //true
    console.log(arguments.length);                    //2
    console.log(arguments.callee);                    // 
}
fun();
fun("hello",true);                                    //2

Date 객체


JS에서 Date 객체를 사용하여 직접 구조 함수를 사용하여 Date 객체를 작성한 경우 시간을 나타냅니다.현재 코드가 실행되는 시간으로 봉인됩니다
var d = new Date();

console.log(d);

지정한 시간 대상을 만들려면 구조 함수에 시간을 나타내는 문자열을 매개 변수로 전달하는 형식이 필요합니다: 월/일/년: 분: 초
var d2 = new Date("03/10/2021 11:11:30");

console.log(d2);

getDate () 현재 날짜를 가져오는 대상이 며칠입니까?
var date = d2.getDate()

console.log("date="+date);                        //10 

getDay () 현재 날짜를 가져오는 대상은 요일입니다. 0은 일요일입니다. 1-6주 월요일부터 토요일까지
var day = d2.getDay()

console.log("day="+day);                        // 

getMonth()가 현재 시간 대상의 월을 가져오면 0-11의 값을 되돌려줍니다. 0은 1월을 나타내고 1-11은 2월에서 12월을 나타냅니다.
var month = d2.getMonth();

console.log("month="+month);                    //2( )
console.log("month="+(month+1));                //3 

getFullYear () 현재 날짜 대상의 연도 가져오기
var year = d2.getFullYear;

console.log(year);                                //2021

Time () 현재 날짜 대상의 시간 스탬프 가져오기
var time = d2.getTime();

console.log(time);    

var d3 = new Date("1/1/1970 0:0:0");
time = d3.getTime();
console.log(time);                                //-28800000 d3 (-8 )

현재 시간 스탬프 가져오기
time = Date.now();
console.log(time);

타임 스탬프를 이용하여 코드의 실행 성능을 테스트할 수 있다
var start = Date.now();
for(var i=0 ; i<100; i++){
    console.log(i)
}
var end = Date.now();

console.log(" "+(end - start)+" ");

Math


Math는 다른 대상과 달리 구조 함수가 아닙니다. 도구 클래스에 속하기 때문에 대상을 만들지 않습니다. 수학 연산과 관련된 속성과 방법인 Math를 봉인합니다.원주율
abs () 는 한 수의 절대값을 계산하는 데 사용할 수 있다
console.log(Math.abs(-1));                        //1

Math.ceil () 는 한 수를 위로 정돈할 수 있으며, 작은 숫자는 값만 있으면 자동으로 1로 들어간다
console.log(Math.ceil(1.4));                    //2

Math.floor () 는 한 수를 아래로 가져올 수 있습니다. 소수 부분은 버려집니다.
console.log(Math.floor(1.99));                    //1

Math.round () 는 한 수를 반올림하여 정돈할 수 있다
console.log(Math.round(1.4));                    //1

Math.random () 는 0-1 사이의 무작위 수를 생성할 수 있습니다
console.log(Math.random());

0-x 사이의 무작위 수를 생성합니다
Math.round(Math.random()*x);

0-10의 랜덤수 생성
console.log(Math.round(Math.random()*10));

x-y 사이의 무작위 수를 생성합니다
console.log(Math.round(Math.random()*(y-x))+x);

1-10 사이의 무작위 수를 생성합니다
console.log(Math.round(Math.random()*9)+1);

1-6 사이의 무작위 수를 생성합니다
console.log(Math.round(Math.random()*5+1));

max () 는 여러 개의 최대 값을 얻을 수 있습니다
var max = Math.max(10,20,30);
console.log(max);                            //30

min () 여러 개 중 최소 값을 얻을 수 있습니다
var min = Math.min(10,20,30);
console.log(min);                            //10

Math.pow(x, y)가 x의 y차멱을 되돌려줍니다
console.log(Math.pow(3,2))                    //9

Math.sqrt () 는 한 수의 개방적인 연산에 사용됩니다
console.log(Math.sqrt(2))                          //1.4142135623730951


포장류


JS에서 우리에게 세 가지 포장 클래스를 제공했는데 이 세 가지 포장 클래스를 통해 기본 데이터 유형의 데이터를 대상으로 변환할 수 있다.String()은 기본 데이터 유형 문자열을 String 객체로 변환할 수 있습니다. 2.Number()는 기본 데이터 유형의 숫자를 Number 객체로 변환할 수 있습니다.Boolean () 은 기본 데이터 형식의 브리 값을 Boolean 대상으로 변환할 수 있습니다. 그러나 주의: 우리는 실제 응용에서 기본 데이터 형식의 대상을 사용하지 않습니다. 만약에 기본 데이터 형식의 대상을 사용한다면 비교할 때 예측할 수 없는 결과 방법과 속성은 속성에만 추가할 수 있고 기본 데이터 형식에 추가할 수 없습니다. 기본 데이터 형식의 값에 속성과 방법을 호출할 때브라우저는 패키지 클래스를 임시로 사용해서 대상으로 변환한 다음, 호출 대상의 속성과 방법을 호출한 후에 기본 데이터 형식으로 변환합니다

문자열 방법

var str = "Hello World"

밑바닥 문자열은 문자열 그룹 형식으로 저장됩니다. ["H", "e", "l"] length 속성은 문자열의 길이를 가져올 수 있습니다.
console.log(str.length);                    //11
console.log(str[1]);                        //e

charAt()는 문자열에서 지정된 위치의 문자를 인덱스에 따라 가져올 수 있습니다.
var str = "Hello World"
var result = str.charAt(0);                    //H
var result = str[0];                        //H
console.log(result);

charCodeAt() 지정된 위치 문자에 대한 문자 인코딩(Unicode 인코딩) 가져오기
var result = str.charAt(0);                    //H
var result = str.charCodeAt(0);                //72

String.fromCharCode()는 문자 인코딩에 따라 문자를 가져올 수 있습니다.
result = String.fromCharCode(72);
console.log(result);                        //H

앞에 0x를 더하는 16진수
result = String.fromCharCode(0x2682);        //⚂


concat () 는 두 개 이상의 문자열을 연결하는 데 사용할 수 있습니다.
var str = "Hello World"
result = str.concat(" "," ");
console.log(result);                        //Hello World 

indexOf () 이 방법은 문자열에 지정한 내용이 있는지 검색할 수 있습니다. 만약 문자열에 이 내용이 포함되어 있다면, 첫 번째 색인을 되돌려줍니다. 지정한 내용을 찾지 못하면 -1을 되돌려줍니다.
str = "Hello World";
result = str.indexOf("0");            
console.log(result);                            //-1
result = str.indexOf("l");            
console.log(result);                            //2

두 번째 매개변수를 지정하여 검색을 시작할 위치를 지정할 수 있습니다.
result = str.indexOf("l",4);        
console.log(result);                            //9    


이 방법의 사용법은 indexof () 와 마찬가지로 indexOf () 와 다르다. indexOf는 뒤에서 찾고, lastIndexOf는 뒤에서 앞으로 찾는다.
str = "Hello World";
result = str.lastIndexOf("l");            
console.log(result);                            //9

두 번째 매개변수를 지정하여 검색을 시작할 위치를 지정할 수 있습니다.
result = str.lastIndexOf("l",4)    ;        
console.log(result);                            //3

slice () 문자열에서 지정한 내용을 캡처할 수 있습니다. 원래 문자열에 영향을 주지 않고 캡처된 내용을 매개 변수로 되돌려줍니다. 첫 번째: 시작 위치의 인덱스 (시작 위치 포함) 두 번째: 끝 위치의 인덱스 (끝 위치 포함) 두 번째 인자를 생략하면 뒤에 있는 모든 것을 캡처하고 마이너스를 매개 변수로 전달할 수 있습니다. 마이너스는 뒤에서 계산됩니다.
str = "abcdefghijk";
result = str.slice(1,4);
console.log(result);                            //bcd

string () 은 문자열을 캡처할 수 있습니다. 슬라이스 ()와 유사한 매개 변수: 첫 번째: 캡처하기 시작한 위치의 인덱스 (시작 위치 포함) 두 번째: 끝 위치의 인덱스 (끝 위치 포함) 와 달리 이 방법은 마이너스를 참수로 받아들일 수 없습니다. 마이너스를 전달하면 기본적으로 0을 사용하고 매개 변수의 위치를 자동으로 조정합니다. 두 번째 매개 변수가 첫 번째보다 작으면 자동으로 교환됩니다.
str = "abcdefghijk";
result = str.substring(1,4);
console.log(result);                            //bcd

substr () 는 문자열 인자를 캡처하는 데 사용됩니다: 1.시작 위치의 인덱스 캡처 2.절취 길이
str = "abcdefghijk";
result = str.substr(3,2);
console.log(result);                            //de

split () 는 문자열을 하나의 그룹 매개 변수로 나눌 수 있습니다. 매개 변수로 문자열이 필요합니다. 이 문자열에 따라 그룹을 분리합니다.
str = "abc,bcd,efg,hij";
result = str.split(",")
console.log(typeof result);

console.log(result[1]);                            //bcd
console.log(result.length);                        //4


result = str.split("d");
console.log(result.length);                        //2

매개 변수로 빈 문자열을 전달하면, 모든 문자를 그룹의 요소로 분할합니다
str = "abcbcde";
result = str.split("")
console.log(result);                        // "a", "b","c","b","c","d","e"


toUpperCase()는 문자열을 대문자로 변환하여 원래 변수에 영향을 주지 않습니다.
str = "abcdefg";
result = str.toUpperCase();
console.log(result);                            //ABCDEFG

toLowerCase()는 문자열을 소문자로 변환하고 원래 변수에 영향을 주지 않고 반환합니다.
str = "ABCDEFG";
result = str.toLowerCase();
console.log(result);                            //abcdefg

좋은 웹페이지 즐겨찾기