JS补充

  1. 全局变量 && window属性
    js中的全局变量 其实是window的属性
    在js中用没有定义的变量 会报错
    在js中用没有定义的属性 会undefine
  2. 面对对象的特点
    1. 抽象: 只注重我们需要的方面 忽略我们不需要的对象的特性
    2. 封装: 封装为api 外部只能通过定义的接口 访问数据
    3. 继承: 子类继承父类特性 解决重用性问题 (多重继承)
    4. 多态: 对强语言较为有用,允许不同类对同一消息作出不同响应

原型 prototype

类似css中的class 用于给一类对象设置通用的属性或者方法

在js 我们经常在构造方法中实现属性 而在原型中实现方法

创建对象方式

  1. new Object()

    var obj = new Object()
    obj1.name = "lyy"
    
  2. 用json对象

    var person = {
        firstName:"John",
    lastName:"Doe",
    age:50,
    eyeColor:"blue"
    };

call

//js中调用函数
show()
//等效于
show.call()

call可以改变函数调用中的this,对于call调用函数 第一个参数即为this

可以通过call来调用父级的方法
可以通过赋值原型来继承父级的其它方法,因为原型直接赋值是引用类型的 因此需要遍历赋值