事实上,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
//枚举对象自身的非函数属性(不包括原型链中的属性)
for(var k in o){
if(o.hasOwnProperty(k)) && typeof k !== 'function'){
//do whatever you want to do (为所欲为)
}
}
for(var k in o){
if(o.hasOwnProperty(k)) && typeof k !== 'function'){
//do whatever you want to do (为所欲为)
}
}
2018-04-20
try{
//throw a Exception
}catch(e){
//catch the Exception and process it
}finally{
//do something to end
}
//throw a Exception
}catch(e){
//catch the Exception and process it
}finally{
//do something to end
}
2018-04-20
s.hasOwnProperty('name'); //true
s.hasOwnProperty('major'); //false
s.__proto__.hasOwnProperty('major'); //true
Student.hasOwnProperty('name'); //true
Student.hasOwnProperty('major'); //false
Student.prototype.hasOwnProperty('major'); //true
s.hasOwnProperty('major'); //false
s.__proto__.hasOwnProperty('major'); //true
Student.hasOwnProperty('name'); //true
Student.hasOwnProperty('major'); //false
Student.prototype.hasOwnProperty('major'); //true
2018-04-20
function Person(){this.name = 'Bosn'; }
function Student(){this.major ='IT';}
Student.prototype = new Person();
Student.prototype.constructor = Student;
var s = new Student();
function Student(){this.major ='IT';}
Student.prototype = new Person();
Student.prototype.constructor = Student;
var s = new Student();
2018-04-20
var a = {};
Object.defineProperty(a, 'x', {value: 1});
通过Object.defineProperty()为对象添加属性时,属性默认是不可删除、不可改写、不可枚举的。
可以通过Object.getOwnPropertyDescriptor(a, 'x')来查看。
Object.defineProperty(a, 'x', {value: 1});
通过Object.defineProperty()为对象添加属性时,属性默认是不可删除、不可改写、不可枚举的。
可以通过Object.getOwnPropertyDescriptor(a, 'x')来查看。
2018-04-20