(17.06.02) 모듈 화 정의, RequireJs 다운로드 / 설치, ES6 문법 ES5, ES6 모듈 화, ES6 상용 보충
CommonJs:
NodeJS
AMD:
requirejs
CMD:
seajs
RequireJs: 1. 설치, 다운로드 받 기 홈 페이지: requirejs. org Npm: npm i requirejs 2, 사용 이전 개발 방식 의 문제: \819494, 8194, 8194, 8194, 8194, 8194), 변수 명 충돌(정확 한 순 서 를 확보 해 야 한다)
1、
require(['js/a1.js']);
——
2、 :(AMD) define
JS 。
define(function(){
//....
return ( )
});
3、 :require
require([ 1, 2...],function(mod1,mod2....){
//
});
4、 :
define(function(){
return {
a,
show(){}
}
});
5、
define([' 1',' 2'...],function(mod1,mod2){
mod1 -> 1
...
});
: , html 。
6、
/1.html
/html/2.html
/js/
a1.js
a2.js ( a1.js)
1) 1.html
require(['js/a2.js']);
a2.js :
define(['a1.js']); ×
define(['js/a1.js']) √
2)2.html
require(['../js/a2.js']);
a2.js:
define(['js/a1.js']) ×
define(['../js/a1.js']) √
:
define(['../js/a1.js']) √
1.html
7、
1) baseUrl
require.config({
baseUrl: //
});
/1.thml
baseUrl: 'js2'
/html/2.html
baseUrl:'../js2'
baseUrl , .js
baseUrl,
: baseUrl, .js
2) paths:
8、
ES6: 자체 지원 모듈 화.
let 블록 역할 도 메 인 const...: 8194 ℃, 8194 ℃, 8194 ℃, args - 확장 함수 파라미터 에 사용 합 니 다.
?let map = new Map(); map.set map.get map.delete
``
?str.startsWith str.endsWith
배열 방법
ES6: let a = 12;
ES6 에 대한 브 라 우 저의 지원 이 완전 하지 않 습 니 다. 브 라 우 저 마다 지원 하 는 정도 가 다 릅 니 다.
지원 되 지 않 는 상황 에서 ES6 를 사용 하고 도 구 를 빌려 ES6 의 문법 을 ES5 또는 이전 으로 번역 할 수 있 습 니 다.
도구:
1)
http://babeljs.io/repl/
https://google.github.io/traceur-compiler/demo/repl.html#let%20a%20%20%3D%2012%3B%0A
。
2)
babel
traceur:
ES6 , :
traceur.js
bootstrap.js —— bootstrap
</code></pre>
<hr>
<p><strong>ES6 :</strong><br> ( ):</p>
<pre><code> 1、
export
export let a = 12;
export let b = 5;
export function show(){}
2、
let a = 12;
export default {
a
}
:
1、import {a,b,show} from 'js/a.js' //
2、
import modA from 'js/a.js' //a.js .js
:
a.js
import modA from './b.js'
</code></pre>
<hr>
<p><strong>node :</strong><br> <code>const express = require('express'); //node_modules</code><br> , :<br> <code>const modA = requires('./modules/modA');</code></p>
<hr>
<p><strong>ES6 :</strong><br> 1、 ... Rest Arguments</p>
<pre><code> 1) function show(a,b,...arg){}
2) : arr=[...arr2];
a.
b. ...
c. arr2 = Array.from(arr); // ie
</code></pre>
<p> 2、 </p>
<pre><code> str.startsWith(' 1') // str 1 —— true/false
str.endsWith(' 2') // str 2 —— true/false
</code></pre>
<p> 3、Map</p>
<pre><code> 。 key/value 。 / 。
: [] {}
1) let map = new Map(); // Map
2)
map.set('key',value);
3)
map.get('key');
// key value
// , undefined
4)
map.delete('key');
</code></pre>
<p> 4、for ... of</p>
<pre><code> :
for
for...in
while
:
for(let item in arr){
item ->
}
JSON:
Map:
1)
for(let item of map){
item[0] —— key
item[1] —— value
}
item
2)
for(let [k,v] of map){
k —— key
v —— value
}
[k,v] = item;
3) for(let item of map.entries()){} // , map map.nentries()
4) for(let key of map.keys()){}
5) for(let val of map.values()){}
:
1) for(let item of arr.entries()){}
item -> [ , ]
2) for(let key of arr.keys()){}
key ->
3) for(let v of arr.values()){} ×
</code></pre>
<p> 5、 </p>
<pre><code> 1) , return
—— return {}
2)
—— ()
(a)=>{...}
a=>{...}
</code></pre>
<p> 6、 </p>
<pre><code> : push pop shift unshift splice sort concat reverse join
indexOf
ES6 :
1) map ——
——
let arr2 = arr.map(function(item){
//alert(item);
return item + 1;
});
arr2 ——> arr 1
2) forEach ——
arr.forEach(function(val,index){
val ——>
index ——>
});
3) filter ——
let arr2 = arr.filter(function(item){
return item > 5; // : true /false
});
arr2 ——> arr 5
4) reduce ——
a.
arr.reduce(function( , , , ){
:
undefined
});
b.
arr.reduce(function( , , , ){
return xxx; //xxx
});
c.
arr.reduce(function(pre,cue,index,self){}, );
* reduce , ,
,
:
1)
let sum = arr.reduce((pre,cur,index,self)=>{
return pre + cur;
});
2)
let arr = [
[1,2],
[3,4],
[5,6]
];
</code></pre>
</article>
</div>
</div>
</div>
<!--PC WAP -->
<div id="SOHUCS" sid="1210636554662416384"></div>
<script type="text/javascript" src="/views/front/js/chanyan.js">
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.