-
六种表达式
查看全部 -
VO按照如下顺序填充:
1、函数填充(若未传入,初始化该参数值为undefined)
2、函数声明(若发生命名冲突,会覆盖)
3、变量声明(初始化变量值为undefined,若发生命名冲突,会忽略。)
当给变量赋值之后,就会前面的覆盖函数。
查看全部 -
三种类型检测小结
查看全部 -
类型检测 Object.prototype.toString
查看全部 -
var obj={}; Object.defineProperty(obj,"x",{ configurable:false, value:1 }); delete obj.x //false obj.x; //1
查看全部 -
delete
var obj={x:1};
obj.x; //1
delete obj.x;
obj.x //undefined
查看全部 -
JavaScript原型链查看全部
-
巧用+-转换类型
查看全部 -
六种数据类型:原始类型5种(num,str,Boolean,null,defined)
对象1种(function,Array,Date...)
查看全部 -
同时存在valueOf和toString时先查找valueOf,运算时js先尝试传承基本类型,如果valueOf不合法时会去找toStirng
查看全部 -
Object.isExtensible(obj)判断对象是否可以被扩展
Object.preventExtensions(ob)设置对象不可被扩展
Object.seal(obj)设置对象属性标签不可被配置,设置confinurable为false
Object.ifSealed(obj)判断属性是否可以被修改
Object.freeze(obj)冻结,设置属性不可写
查看全部 -
get set在原型链上时obj.z=10访问原型链上的z,并不会给对象添加一个z属性,如果要添加,使用Object.defindProperty(obj,'z'{value:100,configurable:true})来创建对象本身的z属性,configurable默认为false不可被枚举,使用for a in obj 时不会被遍历,并且不可删除
查看全部 -
getter和setter定义属性 使用get和set关键字。访问时obj.age调用get方法,obj.age=100调用set方法
查看全部 -
for(key in obj)只遍历可枚举属性,可以通过hasOwnProperty过滤原型链属性
查看全部 -
使用Object.defineProperty创建不可枚举属性
查看全部
举报