變量提升
會經(jīng)常用到叮喳,主要要理解javascript中的級作用域
var v='Hello World';
alert(v);//Hello World
var v='Hello World';
(function(){
alert(v);//Hello World
})()
var v='Hello World';
(function(){
alert(v);
var v='I love you';//undefined
})()
js中的是函數(shù)級作用域,這和C語言等中的有很大的不同(塊級作用域)锣咒。在javascript中毅整,塊級悼嫉,就像if語句,并不會創(chuàng)建一個新的作用域辛臊,只有函數(shù)才會創(chuàng)建新的作用域
C語言
#include <stdio.h>
int main() {
int x = 1;
printf("%d, ", x); // 1
if (1) {
int x = 2;
printf("%d, ", x); // 2
}
printf("%d\n", x); // 1
}
javascript
var x = 1;
console.log(x); // 1
if (true) {
var x = 2;
console.log(x); //2
}
console.log(x);// 2
函數(shù)提升
簡而言之,就是將整個函數(shù)提升到前面去隔心。
js中寫函數(shù)的兩種方式
- 函數(shù)表達式
- 函數(shù)申明方式
注意:只支持函數(shù)申明方式
function myTest(){
foo();
function foo(){
alert("我來自 foo");
}
}
myTest();
function myTest(){
foo();
var foo =function foo(){
alert("我來自 foo");
}
}
myTest();
狀態(tài)碼
- 404請求失敗,請求所希望得到的資源在服務器上沒有找到
json數(shù)組
json數(shù)組就是一個包含多個json數(shù)據(jù)的數(shù)組唯卖,也可以包含json數(shù)組
[{"a":"b","c":5500},{"a":"av8d","c":600},{"JSON教程":"http://www.sojson.com/json/"}]
//json數(shù)組
另外json對象注意點:
//合格的json格式
["one", "two", "three"]
{ "one": 1, "two": 2, "three": 3 }
{"names": ["張三", "李四"] }
[ { "name": "張三"}, {"name": "李四"} ]
//都是不合格的json數(shù)據(jù)格式
{ name: "張三", 'age': 32 } // 屬性名必須使用雙引號
[32, 64, 128, 0xFFF] // 不能使用十六進制值
{ "name": "張三", age: undefined } // 不能使用undefined
{ "name": "張三",
"birthday": new Date('Fri, 26 Aug 2011 07:13:10 GMT'),
"getName": function() {
return this.name;
}
} // 不能使用函數(shù)和日期對象
按鈕的切換:涉及知識點v-show,v-if,v-else