1,a.concat();
2,a.join();
3,a.reverse();
4, a.sort();
5, a.slice();
6, a.splice();
7, a.valueOf();
8, a.toString();
9, a.indexOf();
10, a.lastInexOf();
11, a.every();
12, a.some();
13, a.filter();
14, a.map();
15, a.forEach();
2,a.join();
3,a.reverse();
4, a.sort();
5, a.slice();
6, a.splice();
7, a.valueOf();
8, a.toString();
9, a.indexOf();
10, a.lastInexOf();
11, a.every();
12, a.some();
13, a.filter();
14, a.map();
15, a.forEach();
2018-04-25
1, Object.preventExtensions(o);
2, Object.seal(o);
3, Object.freeze(o);
4, Object.isExtensible(o);
5, Object.isSealed(o);
6, Object.isFrozen(o);
2, Object.seal(o);
3, Object.freeze(o);
4, Object.isExtensible(o);
5, Object.isSealed(o);
6, Object.isFrozen(o);
2018-04-23
var person = {name: 'zhao', salary: 2000};
Object.defineProperty(person, promote, {
set: function(level){this.salary *= 1 + 0.001*level;}
});
测试:
person.promote = 10; //工作十年,升到第十级
alert(person.salary); //工资涨到2020元
Object.defineProperty(person, promote, {
set: function(level){this.salary *= 1 + 0.001*level;}
});
测试:
person.promote = 10; //工作十年,升到第十级
alert(person.salary); //工资涨到2020元
2018-04-23
1, Object.getOwnPropertyDescriptor(o1, 'name'); //取得属性的特性
2, Object.defineProperty(o1, 'name', {value: 'zhao', enumerable: true, writable: true, configurable: true}); //定义一个属性
3, Object.getOwnPropertyDescriptors(o1); //取得所有属性的特性
4, Object.defineProperties(o1, oooo); //定义多个属性
2, Object.defineProperty(o1, 'name', {value: 'zhao', enumerable: true, writable: true, configurable: true}); //定义一个属性
3, Object.getOwnPropertyDescriptors(o1); //取得所有属性的特性
4, Object.defineProperties(o1, oooo); //定义多个属性
2018-04-23
var book = {
editor: 0,
_year: 2015,
get year(){
return this._year;
}
set year(y){
if(y < this._year){
alert('Incorrect year');
}
else{
this._year = y;
this.editor = y - this._year;
}
}
}
}
}
}
}
}
}
};
editor: 0,
_year: 2015,
get year(){
return this._year;
}
set year(y){
if(y < this._year){
alert('Incorrect year');
}
else{
this._year = y;
this.editor = y - this._year;
}
}
}
}
}
}
}
}
}
};
2018-04-23
事实上,JavaScript中,是可以用中文做变量名的。
比如,let 临时变量 = "中文符变量";
这条语句是可执行的
比如,let 临时变量 = "中文符变量";
这条语句是可执行的
2018-04-22
1, 通过o.x给o添加新属性时,属性的特性默认都为true,而通过Object.defineProperty(o, 'x')给o添加属性时,属性的特性默认都为false;
2,Object.defineProperty(),给对象添加属性;
3,Object.getOwnPropertyDescriptor(),取得对象的某个属性的特性对象;
4,o.hasOwnProperty(),判断属性是否为对象实例所有;
5,o.propertyIsEnumerable(),判断属性是否可枚举;
6,prop in o ,判断对象中是否有指定的属性
2,Object.defineProperty(),给对象添加属性;
3,Object.getOwnPropertyDescriptor(),取得对象的某个属性的特性对象;
4,o.hasOwnProperty(),判断属性是否为对象实例所有;
5,o.propertyIsEnumerable(),判断属性是否可枚举;
6,prop in o ,判断对象中是否有指定的属性
2018-04-22
创建对象的10种方法:
1,var o = {x: 1}; 对象字面量
2,var o = new Object(); o.x = 1; 构造函数创建
3,var o = Object.create({x: 1}); 通过创建原型构建对象
1,var o = {x: 1}; 对象字面量
2,var o = new Object(); o.x = 1; 构造函数创建
3,var o = Object.create({x: 1}); 通过创建原型构建对象
2018-04-22
严格模式下:
1,不允许使用with语句;
2,不允许给未声明的变量赋值;
3,arguments,是与形参不同的变量副本;
4,delete不允许被删除的变量会报错,而不是返回false;
5,不允许重复的对象字面量属性名;
6,不允许八进制的字面量;
7,eval, arguments成为关键词,不允许用来作为变量名和函数名;
8,eval()会单独创建一个作用域,并在eval()返回时丢弃;
1,不允许使用with语句;
2,不允许给未声明的变量赋值;
3,arguments,是与形参不同的变量副本;
4,delete不允许被删除的变量会报错,而不是返回false;
5,不允许重复的对象字面量属性名;
6,不允许八进制的字面量;
7,eval, arguments成为关键词,不允许用来作为变量名和函数名;
8,eval()会单独创建一个作用域,并在eval()返回时丢弃;
2018-04-20