1.window.onload = sss(); 加括号表示调用,函数立即执行;
window.onload = sss; 不加括号表示函数的引用赋值,即当符合条件时才会执行
2.原型链添加方法和属性的两种方法
直接添加(只能一个一个添加) : object.prototype.say = function () {}
对象添加(一次添加多个),必须放在构造函数实例化前面 :
object.prototype = { say : function (){} }
3.函数的原型对象constructor默认指向函数的本身,原型对象除了有自己的原型外,
还有一个原型链指针proto ,该指针指向上一层的原型对象;object的原型对象
用object.prototype.proto= null 表示原型链的最顶端;
4.函数的封装 :
(1): 字面量创建对象 改进模式 封装一个函数,传递变量为形参,返回一个对象出来
(2):构造函数模式: (首字母大写,参数传递,this指向)
创建三个: 创建一个object对象 把这个值赋予this 返回this
(3): 构造函数加原型: 把私有的属性和方法放在构造函数,把共有的属性放在原型链上;
5.Prototype模式的验证方法
(1) isPrototypeOf() : 判断某个prototype对象和某个实列之间的关系
(2) hasOwnPrototype(): 判断某一个属性到底是本地属性,还是继承prototype对象的属性
(3) in 运算符: 判断某个实列是否含有某个属性,不管是不是本地属性
6.非构造函数的继承 : 两个普通的对象的继承关系
var chinese = { nation: '中国'};
var Docter = { career : '医生'};
var Docter = Object(chinese); Docter.career = '医生'; alert(Docter.nation);