-
var xx = { sex:"男", name:"yang", xx:"math", get time(){ return new Date().getFullyear(); }, set time(xx){//这个是在设置属性的时候调用 console.log(xx); }查看全部
-
Object.freeze(obj);//将对象冻结,不可删不可扩展也不可写。查看全部
-
先实现原型链的继承,再扩展。 因为继承的时候会改写prototype属性,如果后继承可能会覆盖掉之前的prototype属性。查看全部
-
模块化函数内部变量不会泄漏到全局作用域。 两种方法 1.定义立即执行函数 moduleA = function(){}(); 2.this 方法 moduleA = new function(){ var prop = 1; function func(){} this.func = func; this.prop = prop; }查看全部
-
云里雾里查看全部
-
getOwnPropertyDescriptor(Object,'prototype') 获取指定对象的指定属性 eval()内定义的变量能被Delete删除 Object.defineProperty(cat,'price',{enumerable:false,value:1000});//用defineProperty定义一个属性enumerable默认是false 不能被枚举即是console.log()对象的时候不会被打印出来 cat.propertyIsEnumerable('price') //检测属性能否被枚举查看全部
-
hasOwnProperty() 判断受否有某个属性 __proto__.hasOwnProperty() 判断原型链上一级是否有某属性查看全部
-
对象属性的属性标签: writable enumerable configurable value get/set 对象: prototype(原型链) class(表示属于那一个种类) extensible(是否允许继续添加属性)查看全部
-
严格模式: 'use strict' 1,wiht(用于改变作用域)被禁止使用 2,所有变量必须声明,赋值给未声明的变量报错,而不是隐式创建全局变量 3,eval会自己单独创建一个作用域,而不是在eval所在的作用域之下 4,函数中的特殊对象arguments是静态副本,而不是像非严格模式那样,修改argument或者参数会相互影响。但是如果参数是对象修改对象的属性是可以的如:!function(a){ 'use strict'; arguments[0]=100; console.log(a); }({x:1}); 5,删除configurable=false的属性时报错,而不是忽略 6,禁止八进制字面量,如console.log(0123);会报错 7,eval,arguments变为关键字,不可作为变量,函数等 8,一般函数调用时(不是对象的方法调用,也不使用apply/call、bind等修改this)this志向null,而不是全局对象。 9,如果使用apply/call,当传入null或者undefined是,this降指向null或者undefined,而不是全局对象。 10,试图修改不可写属性(writeable=false),在不可扩展的对象上添加属性时报TypeError,而不是忽略 11,arguments.caller,arguments.callee被禁用查看全部
-
对象创建方法三 Object.creat({x:1}); 参数一般是对象; 并不是所有的对象都有toString方法;查看全部
-
/** * 类型判断方法 * param item * return type(string,function,boolean,number,undefined,null,window,Date,Array,object) */ function typeOf(item){ var type = typeof item; if(type != "object"){ // 判断基本类型string,function,boolean,number,undefine }else if(item === null){ // check null type = "null"; }else if(item === window){ // check window type ="window"; }else{ // 判断object类型object,date,array if(item instanceof Date){ type = "date"; }else if(item instanceof Array){ type = 'array'; }else{ type = 'object'; } } return type; }查看全部
-
prototype属性 原型链 如果对象上没有这个属性 就会向上找prototype delete不会删除原型链上的属性查看全部
-
实现继承的方法: Student.prototype = Object.create(Person.prototype); Student.prototype.constructor = Student;查看全部
-
instanceof左边一般是对象,右边是一个函数(构造器)。 instanceof用来判断右边构造器的prototype属性是否出现在左边对象的原型链上。查看全部
-
obj.hasOwnProperty('z'); //false查看全部
举报
0/150
提交
取消