javascript7

语句:条件,循环,跳转,

表达式语句,复合语句和空语句,声明语句,var,function,条件语句,switch,循环,标签语句,break语句,continue语句,return语句,throw语句,try/catch/finally语句,with语句,debugger语句,use strict

对象,原型式继承是javascript的核心特征。

对象常见用法:创建,设置,查找,删除,检测和枚举它的属性。

对象直接量:由若干名值对组成的映射表。

通过“.”运算符访问对象属性时属性名用标示符来表示;通过[]来访问对象的属性时属性名通过字符串来表示。

内置构造函数的原型是只读的。

delete只是断开属性和宿主对象的联系,不会去操作属性中的属性。

 

判断某个属性是否存在于某个对象中,用in运算符,hasOwnPreperty(),propertyIsEnumerable()方法,或仅通过属性查询。

in运算符的左侧是属性名(字符串),右侧是对象。如果对象的自有属性或继承属性中包含这个属性则返回true。

对象的hasOwnProperty()方法用来检测给定的名字是否是对象的自有属性,对于继承属性它将返回false。

propertyIsEnumerable()是hasOwnPreperty()的增强版,只有检测到是自有属性且这个属性的可枚举性为true时她才返回true。

 

“!==”判断一个属性是否是undefined。

in区分不存在的属性和存在但属性值为undefined的属性。

把属性名称赋值给循环变量。对象继承的内置方法不可枚举,给对象添加的属性是可枚举的,除非转化成不可枚举的。

inherit();
        function inherit(p){
            alert(1);
            try {
                if(p==null) throw new TypeError();
            }catch (e){
                console.log(e.name)
                p={}
            }
            alert(2);
            if(Object.create)
                return Object.create(p);
            alert(3);
            var t=typeof p;
            if(t!=="object" && t!=="function") throw new TypeError();
            alert(4);
            function f(){};
            alert(5);
            f.prototype=p;
            alert(6);
            return new f();
            alert(7);
        }

 

posted @ 2015-01-21 11:29  净静竞——小晴  阅读(365)  评论(0编辑  收藏  举报