1.let 문
- 직접 불평 변수 선언 var에 달리 1.let이 향상, 신고되지 않은
console.log(a); //undefined
var a;
console.log(b); //报错
let b;
- ES5 2. 전역 변수의 최상위 오브젝트 (브라우저 윈도우)에 장착된다. 그리고 말자
var a = 1;
console.log(window.a); //1
let b = 2;
console.log(window.b); //undefined
- ES6위한 전 3. 우리 기능을 전용 JS 범위 및 전역을 변수를 선언 VAR을 이용하고 있으며, 범위 수준 막지, 상기 범위 {} VAR 변수 선언에 대한 액세스를 제한 할 수 없다. 그리고 당신은 가변 블록 레벨의 범위를 선언 할 수 있습니다.
if(true){
var num = 10;
}
console.log(num); //10 var定义的变量没有块级作用域
if(true){
let num2 = 10;
}
console.log(num2); //报错 num2 is not defined
- 반복 할 수없는 변수 선언을 4.let하고, 변수 var 문이 될 수 있습니다
let num = 10;
let num = 11;
console.log(num); //报错 Identifier 'num' has already been declared
var num = 10;
var num = 11;
console.log(num); //11 var可以重复声明
- 루프에 대해 고유 한 응용 프로그램과 5.let
<ul id="ul1">
<li>11111</li>
<li>222222</li>
<li>333333</li>
<li>444444</li>
</ul>
window.onload = function(){
var allLis = document.getElementsByTagName("li");
for(var i=0;i<allLis.length;i++){
allLis[i].onclick = function(){
console.log(i);
}
}
//无论点击哪个元素都是输出4
for(let j=0;i<allLis.length;j++){
allLis[j].onclick = function(){
console.log(j);
}
}
}
//依次点击各个li元素分别输出0/1/2/3
2. 문자열 템플릿
접합 및 문자열 변수의 전통적인 방법은, 많은 단어의 바느질 내용 경우, 매우 복잡 될 것입니다. 그것은 함께 매우 불편, 오류가 발생하기 쉬운 따옴표 + 숫자 변수 이름이 많이 필요합니다.
문자열을 위해 태어 ES6에 대한 템플릿
사용법 : 역 따옴표의 정체성 (키의 탭 상단) 템플릿을 싸서. 함수를 넣을 수 있습니다 넣을 수 있습니다 $ {변수}, 당신은 또한 식을 넣을 수 있습니다
<script>
var str = "我是谁,我在哪"
var n = 16
document.body.innerHTML += `<h1>${str}?你就少说两句吧</h1>`
document.body.innerHTML += `<h1>2的16次方=${Math.pow(2,n)}</h1>`
</script>
결과 :
<h1>我是谁,我在哪?你就少说两句吧</h1>
<h1>2的16次方=65536</h1>