JavaScript 학습 노트_javascript 기술 구성을 위한 참조 유형
참조 유형은 JavaScript에서 매우 중요합니다. 참조 유형은 데이터와 기능을 함께 구성하는 데 사용되는 데이터 구조입니다. 개체 유형의 속성과 메서드를 설명합니다. Object는 기본 유형, Array는 배열 유형, Date는 날짜 유형, RegExp는 정규식 유형 등입니다.
자바스크립트 수용
한때 알려지지 않았던 JavaScript는 AJAX의 인기로 그 가치가 두 배로 높아졌습니다. 이제 JavaScript는 더 이상 WEB 개발에 꼭 필요한 보조 도구가 아닙니다. WEB 백엔드 개발 프로그래머라면 최소한 JavaScript를 알아야 합니다. 적어도 일부 관련 직업 요구 사항에서는 "JavaScript에 익숙한 것이 선호됩니다"라는 말을 볼 수 있습니다. HTML+CSS+JavaScript로 AIR를 개발하는 Adobe AIR의 또 다른 개발 모델 덕분에 JavaScript로 데스크톱 소프트웨어를 개발할 수 있게 될 것이라고 말씀드리고 싶습니다.
1.객체 종류
1. 만들기:
var dog = new Object();
데이터를 저장하고 전송하는 데 일반적으로 사용됩니다. 예를 들어 저장공간은 다음과 같습니다.
var person = new Object(); person.name = "Nicholas"; person.age = 29;
두 번째 생성 방법: (생성 시 속성 이름을 문자열 형식으로 지정할 수도 있습니다. 즉, 속성 이름에 따옴표를 추가할 수 있습니다.)
var person = { name : "Nicholas", age : 29 };
2. 속성 값 가져오기: person["name"] 또는: person.name;
2.배열형
동일한 어레이는 모든 유형의 데이터(혼돈)를 저장할 수 있습니다.
1. 배열은 동적으로 조정될 수 있습니다(데이터를 하나 더 추가하면 길이가 저절로 늘어나며 죽지 않습니다.).
2. 만들기:
var stars=new Array();//方式1 var stars=new Array(20);//方式2 var stars=new Array("周杰伦","林俊杰","孙燕姿");//方式3 var stars=Array(20);//方式4 var stars=["周杰伦","孙燕姿","林俊杰"];//方式6
3. 동적 조정 예:
var stars=["周杰伦","林俊杰","孙燕姿"]; stars[1]="JJ";//动态改变(把林俊杰变为JJ) stars[3]="皮裤汪";//动态增长(加了一个长度) stars.length=1;//动态强制缩减(林俊杰、孙燕姿、皮裤汪强制移除,长度变为1)
4. 배열 감지: Array.isArray(value);
5. Join()을 사용하여 배열을 구분된 문자열로 변환합니다.
var stars = ["周杰伦", "王尼玛", "张全蛋"]; alert(stars .join(",")); //周杰伦,王尼玛,张全蛋 alert(stars .join("-")); //周杰伦-王尼玛-张全蛋
6. 스택과 같은 배열을 사용할 수 있습니다(pop() out, push() in).
7. 배열은 대기열처럼 사용될 수 있습니다. (shift()와 push() 결합):
var stars = new Array(); //create an array var count = colors.push("周杰伦", "王尼玛"); //push two items alert(count); //2 count = stars .push("张全蛋"); //push another item on alert(count); //3 var item = colors.shift(); //get the first item alert(item); //周杰伦 alert(colors.length); //2 /**所谓栈变队列,其实就是把栈颠倒过来再拉取*/
8. 정렬.
1.reverse()배열 순서를 반대로 바꿉니다(정렬된 배열 반환)
2.sort()작은 것부터 큰 것 순으로 정렬합니다. 그러나 숫자가 아닌 문자열을 기준으로 정렬됩니다. (정렬된 배열을 반환합니다)
var values = [, , , , ]; values.sort(); alert(values); //,,,,
원하는 방식으로 정렬하려면 sort()에 매개변수로 비교 함수를 추가할 수 있습니다.
function compare(value, value) { if (value < value) { return -; } else if (value > value) { return ; } else { return ; } } var values = [, , , , ]; values.sort(compare); alert(values); //,,,,
비교 함수의 단순화된 버전(정렬은 양수, 음수 또는 0 반환 여부만 고려함):
function compare(value1,value2){ return value2 - value1; }
9. 배열 작업: 결합, 슬라이싱, 접합.
1. 연결 : concat 사용, 메모리: concat-->concatenate: 연결, 체인.
예:
var stars = ["周杰伦", "王尼玛", "张全蛋"]; var stars = stars .concat("太子妃", ["花千骨", "梅长苏"]); alert(stars); //周杰伦,王尼玛,张全蛋 alert(stars); //周杰伦,王尼玛,张全蛋,太子妃,花千骨,梅长苏
2.슬라이스. 슬라이스, 메모리 사용: 슬라이스 번역: 슬라이스. 예:
var stars = ["梅长苏", "誉王", "靖王", "霓凰", "飞流"]; var stars= stars.slice(); var stars= stars.slice(,); alert(stars); //誉王,靖王,霓凰,飞流(从第一个位置开始切) alert(stars); //誉王,靖王,霓凰(从第个位置切到第个位置,表示半封闭,不包含)
3.접합. 접착. 강한. 삭제, 삽입, 교체가 가능합니다.
1.항목 수에 관계없이 삭제: 예: splice(0,2), 0번째 및 1번째 항목(반 닫힌 간격)을 삭제합니다(삭제된 항목 반환).
2.지정된 위치에 원하는 수의 항목을 삽입합니다. 예: splice(2,0,"Jay Chou","王尼马"), Jay Chou 및 Wang NIMA를 다음에서 시작하여 삽입합니다. 2위 항목은 2개입니다.
3.지정된 위치에 원하는 만큼의 항목을 삽입하고 동시에 원하는 만큼의 항목을 삭제하세요. 예: splice(2,1,"Jay Chou","Wang Nima"), 두 번째 위치에서 항목 하나를 삭제한 다음 Jay Chou와 Wang Nima라는 두 항목을 삽입하기 시작합니다.
10. 위치 방식: indexOf, lastIndexOf;
11. 반복 방법: 다음으로 구분됩니다: 모두 자격이 있는 경우에만 통과, 하나라도 자격이 있으면 통과, 일부 잔여물 필터링, 일대일 매핑, 반복 쿼리 및 축소.
1. 모두 자격을 갖춘 경우에만 통과:
var numbers = [1,2,3,4,5,4,3,2,1]; var everyResult = numbers.every(function(item, index, array){ return (item > 2); }); alert(everyResult); //false
위 예에서는 각 항목이 2보다 큰 경우에만 true가 반환됩니다.
2. 하나라도 합격하면 합격:
var numbers = [1,2,3,4,5,4,3,2,1]; var someResult = numbers.some(function(item, index, array){ return (item > 2); }); alert(someResult); //true
위의 예에서 1이 2보다 크면 true를 반환합니다.
3. 찌꺼기 부분 필터링 :
var numbers = [1,2,3,4,5,4,3,2,1]; var filterResult = numbers.filter(function(item, index, array){ return (item > 2); }); alert(filterResult); //[3,4,5,4,3]
위의 예에서는 2보다 큰 모든 값이 필터링됩니다.
4. 일대일 매핑:
var numbers = [1,2,3,4,5,4,3,2,1]; var mapResult = numbers.map(function(item, index, array){ return item * 2; }); alert(mapResult); //[2,4,6,8,10,8,6,4,2]
위 예에서는 각 항에 2를 곱합니다.
5. 반복: for-each를 사용합니다.
6. 줄이다: 줄이다.
var values = [1,2,3,4,5]; var sum = values.reduce(function(prev, cur, index, array){ return prev + cur; }); alert(sum);//15
累加求和返回,5项缩为1项。
3.RegExp类型
1.var expression=/ pattern / flags;
2.flags分三种:g(global全局模式,应用于所有字符串)、i(case-insensive,忽略字母大小写)、m(multiline,多行模式,一行检验完了接着下一行。)。举例:
/**匹配字符串中所有'at'的实例*/ var pattern1=/at/g; /**匹配第一个'bat'或'cat',不分大小写*/ var pattern2 =/[bc]at/i; /**匹配所有以'at'结尾的3个字符组合,不分大小写*/ var pattern3=/.at/gi;
3.模式中所有的元字符必须转义,元字符:( { [ \ ^ $ | ) ? * + . ] }
4.Function类型
1.每个函数都是Function类型的实例,而且与其他引用类型一样,都有属性和方法。
2.函数的两种定义方法:
方法1:
function sum(a,b){ return a + b; }
方法2:
var sum=function(a,b){ return a + b; }
3.函数没有重载。
5.Boolean、Number、String:基本包装类型
var a="Jay Chou is a superstar"; var b=a.substring(0,8);
上例中,a是基本类型,但是a可以调用substring方法,是因为,后台自动完成a的包装操作,创建String类型的一个实例。Boolean,Number也类似。
6.单体内置对象,不需要实例化,直接使用,如:Math,Global。
1.所有全局作用域中定义的函数、变量,都是Global对象的方法,比如:parseInt,isNaN等。
2.eval()方法也是Global对象的方法,它负责解析javascript。
3.Math对象是保存数学公式和相关信息的。它有很多方法, 如:min求最小值,max求最大值,ceil()向上取整,floor向下取整,round四舍五入,random取随机数。
ps:引用类型理解:变量的交换等于把现有一间店的钥匙(变量引用地址)复制一把给了另外一个老板,此时两个老板同时管理一间店,两个老板的行为都有可能对一间店的运营造成影响。
引用类型例子
function chainStore() { var store1=['Nike China']; var store2=store1; alert(store2[0]); //Nike China store1[0]='Nike U.S.A.'; alert(store2[0]); //Nike U.S.A. } chainStore(); //在上面的代码中,store2只进行了一次赋值,理论上它的值已定,但后面通过改写store1的值,发现store2的值也发生了改变,这正是引用类型的特征,也是我们要注意的地方

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











프론트 엔드 개발시 프론트 엔드 열지대 티켓 인쇄를위한 자주 묻는 질문과 솔루션, 티켓 인쇄는 일반적인 요구 사항입니다. 그러나 많은 개발자들이 구현하고 있습니다 ...

기술 및 산업 요구에 따라 Python 및 JavaScript 개발자에 대한 절대 급여는 없습니다. 1. 파이썬은 데이터 과학 및 기계 학습에서 더 많은 비용을 지불 할 수 있습니다. 2. JavaScript는 프론트 엔드 및 풀 스택 개발에 큰 수요가 있으며 급여도 상당합니다. 3. 영향 요인에는 경험, 지리적 위치, 회사 규모 및 특정 기술이 포함됩니다.

JavaScript는 현대 웹 개발의 초석이며 주요 기능에는 이벤트 중심 프로그래밍, 동적 컨텐츠 생성 및 비동기 프로그래밍이 포함됩니다. 1) 이벤트 중심 프로그래밍을 사용하면 사용자 작업에 따라 웹 페이지가 동적으로 변경 될 수 있습니다. 2) 동적 컨텐츠 생성을 사용하면 조건에 따라 페이지 컨텐츠를 조정할 수 있습니다. 3) 비동기 프로그래밍은 사용자 인터페이스가 차단되지 않도록합니다. JavaScript는 웹 상호 작용, 단일 페이지 응용 프로그램 및 서버 측 개발에 널리 사용되며 사용자 경험 및 크로스 플랫폼 개발의 유연성을 크게 향상시킵니다.

동일한 ID로 배열 요소를 JavaScript의 하나의 객체로 병합하는 방법은 무엇입니까? 데이터를 처리 할 때 종종 동일한 ID를 가질 필요가 있습니다 ...

이 기사에서 시차 스크롤 및 요소 애니메이션 효과 실현에 대한 토론은 Shiseido 공식 웹 사이트 (https://www.shiseido.co.jp/sb/wonderland/)와 유사하게 달성하는 방법을 살펴볼 것입니다.

Console.log 출력의 차이의 근본 원인에 대한 심층적 인 논의. 이 기사에서는 Console.log 함수의 출력 결과의 차이점을 코드에서 분석하고 그에 따른 이유를 설명합니다. � ...

JavaScript를 배우는 것은 어렵지 않지만 어려운 일입니다. 1) 변수, 데이터 유형, 기능 등과 같은 기본 개념을 이해합니다. 2) 마스터 비동기 프로그래밍 및 이벤트 루프를 통해이를 구현하십시오. 3) DOM 운영을 사용하고 비동기 요청을 처리합니다. 4) 일반적인 실수를 피하고 디버깅 기술을 사용하십시오. 5) 성능을 최적화하고 모범 사례를 따르십시오.

프론트 엔드에서 VSCODE와 같은 패널 드래그 앤 드롭 조정 기능의 구현을 탐색하십시오. 프론트 엔드 개발에서 VSCODE와 같은 구현 방법 ...
