JavaScript 基础知识
简介
闭包
- 闭包,指的是词法表示包括不被计算的变量的函数,也就是说,函数可以使用函数之外定义的变量。
prototype
- 原型:表示所有的实例都带有用此关键字修饰的属性
# 例如:Vue.prototype.$axios = axios
无论new多少个Vue实例,都带有axios属性
箭头语法
var elements = [
'Hydrogen',
'Helium',
'Lithium',
'Beryllium'
];
elements.map(function(element) {
return element.length;
}); // 返回数组:[8, 6, 7, 9]
// 上面的普通函数可以改写成如下的箭头函数
elements.map((element) => {
return element.length;
}); // [8, 6, 7, 9]
// 当箭头函数只有一个参数时,可以省略参数的圆括号
elements.map(element => {
return element.length;
}); // [8, 6, 7, 9]
// 当箭头函数的函数体只有一个 `return` 语句时,可以省略 `return` 关键字和方法体的花括号
elements.map(element => element.length); // [8, 6, 7, 9]
// 在这个例子中,因为我们只需要 `length` 属性,所以可以使用参数解构
// 需要注意的是字符串 `"length"` 是我们想要获得的属性的名称,而 `lengthFooBArX` 则只是个变量名,
// 可以替换成任意合法的变量名
elements.map(({ "length": lengthFooBArX }) => lengthFooBArX); // [8, 6, 7, 9]
事件
event.preventDefault()
event.stopPropagation()
JSON字符串转换为JSON对象
var obj = str.parseJSON();//将JSON字符串转换为JSON对象 var obj = JSON.parse(str);// 将字符串转换为JSON对象
将JSON对象转化为JSON字符串
JSON对象parse方法可以将JSON字符串反序列化成JS对象 stringify方法可以将JS对象序列化成JSON字符串
var source = {name: "source", child: {name: "child"}}; var target = JSON.parse(JSON.stringify(source));
var str = JSON.stringify(obj); var str = obj.toJSONString();