首页 > 代码库 > javascript权威指南笔记学习

javascript权威指南笔记学习

    //返回了一个继承自原型对象p的属性的新对象    function inherit(p){        if (p ==null) throw TypeError();        if (Object.create){            return Object.create(p);        }        var t=typeof p;        if (t!=="object"&&t!=="function") throw TypeError();        function f(){};        f.prototype=p;        return new f();    }

属性访问错误

属性访问并不总是返回或设置一个值。查询一个不存在的属性并不会报错,如果在对象o自身的属性或继承的属性中均未找到这个属性x,属性访问表达式o.x返回undefine。回想一下我们的book对象有属性“sub-title”,而没有属性“subtitle”:

book.subtitle    undefined

试图查询这个不存在的对象的属性就会报错。null和undefined值都没有属性,因为查询这些值的属性会报错,接上例:

//抛出一个类型错误异常,undefined没有length属性

var len=book.subtitle.length;

除非确定book和book.subtitle都是(或在行为上)对象。否则不能这样写表达式book。subtitle.length,因为这样会报错,下面提供了两种避免出错的方法。

var len=undefined;

if(book){

   if(book.subtitle) len=book.subtitle.length;

}

var len=book&&book.subtitle&&book.subtitle.length;

//判断类型

function classof(o){if(o===null){retuen "Null"}if(o===undefined){return "Undefined"}return Object.prototype.toString().call(o).slice(8,-1)} 

 

 

 

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

//赋值失败,但没报错,Object.prototype没有修改

 

删除属性

delete运算符,

delete book.author

delete book["main title"]

 

javascript权威指南笔记学习