普通对象和函数对象。函数对象才有prototype属性
函数对象:
function f1(){};
var f2 = function(){};
var f3 = new Function(‘str’,’console.log(str)’);
普通对象:
var o3 = new f1();
var o1 = {};
var o2 =new Object();
原型链:
JS在创建对象(不论是普通对象还是函数对象)的时候,都有一个叫做proto的内置属性,用于指向创建它的函数对象的原型对象prototype。
返回值return
若返回值不是一个对象,则返回this。
返回对象则不返回this了。
hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
isPrototypeOf:是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。