1.JSON.stringify() 方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串
JSON.parse() 方法用来解析JSON字符串,构造由字符串描述的JavaScript值或对象。
prop与attr
* 对于HTML元素本身就带有的固有属性,只存在true/false的属性在处理时,使用prop方法。
Href, target, class, id 像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”
* 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
2. * 数组
* Array.from(v) : 将伪数组对象或可遍历对象转换为真数组
* Array.of(v1, v2, v3) : 将一系列值转换成数组
* find(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素
* findIndex(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素下标
3.* **Array.prototype.forEach(function(item, index){}) : 遍历数组**
* **Array.prototype.map (function(item, index){}) : 遍历数组返回一个新的数组**
* **Array.prototype.filter(function(item, index){}) : 遍历过滤出一个子数组**
Arr.forEach((num, index) => {return arr[index] = num * 2;});
arr = [2,4,6,8,10].
forEach适合于你并不打算改变数据的时候,只是想用数据做一些事情—比如存入数据库或打印出来
$( selector ).each( function( index, domEle ){ } )
let doubled = arr.map(num => {return num *2;});
doubled = [2,4,6,8,10]
适用于你要改变数据值的时候,返回一个新的数组
var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.filter(function(item,index,array){
return item>2;
});
alert(everyResult); // [3,4,5,4,3]
4. 归并数组的方法reduce()
var values = [1,2,3,4,5];
var sum = values.reduce(function(prev,cur,index,array){
return prev + cur;
});
alert(sum); //15
5. every() 调用every()并不能改变数组的值,只能检测数组中的每个值是否满足给定的条件。当遍历到某一个值不满足条件时,函数立即返回false,不再继续遍历。当数组中的每一个值都满足给定的条件时,函数返回true。
function isBigEnough(element, index, array) {
console.log(element);
return element >= 10;
}
[12, 5, 8, 130, 44].every(isBigEnough);
12
5
false
6. Object.keys() 遍历属性与方法,得到的是数组
Object.assign() 结果:一个对象,但是相同的属性会覆盖前一个 该方法返回一个对象 o 自身包含(不包括原型中)的所有属性的名称的数组。
7. 模板字符串:如果我们现在要用到一个长字符串,这个字符串中,大部分内容是相同的,只有少部分内容要根据不同的条件进行更改,当然,我们可以把整个字符串拆开,然后使用字符串拼接的方式为这个字符串赋值。
插入表达式
在普通字符串中嵌入表达式,必须使用如下语法:
var a = 5;
var b = 10;
console.log('Fifteen is ' + (a + b) + ' and\nnot ' + (2 * a + b) + '.');
// "Fifteen is 15 and
// not 20."
现在通过模板字符串,我们可以使用一种更优雅的方式来表示:
var a = 5;
var b = 10;
console.log(`Fifteen is ${a + b} and
not ${2 * a + b}.`);
// "Fifteen is 15 and
// not 20."
8.new Promise((resolve, reject) => {
$.ajax({
url: 'http://happymmall.com/user/get_user_info.do',
type: 'post',
success(res) {
resolve(res);
},
error(err) {
reject(err);
}
});
}).then((res) => {
console.log('sucess', res);
}, (err) => {
console.log('error', err);
});
VM598:13
sucess
* {status: 1, msg: "用户未登录,无法获取当前用户的信息"}
* msg
:
"用户未登录,无法获取当前用户的信息"
status
:
1
__proto__
:
Object
链式promise(之前是嵌套$.ajax)
promiseFn1.then(() = > {
console.log('promiseFn1 success');
return promiseFn2;
}).then(() => {
console.log('promiseFn2 success');
});
9.类的继承
class Animal {
constructor() {
this.name = 'animal';
}
getName() {
return this.name
}
}
class Cat extends Animal {
constructor() {
super()
this.name = 'cat';
}
}
let animal = new Animal();
let cat = new Cat();
console.log(animal.getName());
console.log(cat.getName());
//animal
//cat
对象的用法