Js中级复习

JS中级复习——

1,this   就是js的关键字

  用途:指向某一个对象

  如何判断this指向:

    函数(方法)内——

      一种以函数的方式调用(不带.)this指向window

      一种以方法的形式调用(函数名前面带.)this指向点前面的

    函数(方法)外

      this指向window

  this指向的特例:

    自调用函数的this都是window

    定时器里的this指向window

    事件里面的this指向出发事件的元素

    构造函数里的this指向他的实例

2,怎样替换掉函数内的this

  call();apply();bind()  只能是函数(方法),或者是函数对象

3,面向对象:

  单例模式——

    var obj={ }

  工厂模式——

    function fn(){

      var obj={ }

      obj.name=“zhang”

      return obj

    }

  构造函数——

    三个特点:

      函数名首字母必须大写;函数属性前面加this;函数调用用new关键字;

    function person(name){

        this.name=name

    }

    var zhang=new person(“zhang”)

原型分析:

  每个构造函数天生自带一个prototype属性,叫原型,他是一个对象,存放父类可继承的属性

  函数内的属性是子对象,天生就是继承的,不需要任何操作

  prototype上的属性是继承给予对象的,子对象必须通过__proto__(原型链)来查找

  每个子对象都有一个__proto__,他指向父类的原型

原型链:

  子对象在操作一个属性时,首先看属性是不是私有的,私有的就直接使用,没有就通过__proto__向子对象的父类查找,父类有就使用,没有就用父类的__proto__继续向上查找,直到基类object为止,没有就undefined。

4,作用域或作用域链:

  浏览器客户端给js一个生存环境

  js代码在执行之前,浏览器会给js一个生存环境window;会分成两个模块,一个内存,一个执行;内存模块在代码执行之前就完成了,存放关键字var和function,每存放一个变量就会生成一个内存地址

  赋值:

    基本数据类型---简单的赋值

    引用数据类型---把内存地址赋值给变量

    基本数据类型:

      基本数据类型在赋值的时候,就是简单的操作值

    引用数据类型:

      引用数据类型在赋值的时候,把内存地址给变量,在操作引用数据类型的时候,首先通过内存地址去找到里面的东西,然后操作

      (引用数据类型在赋值的时候,首先会开辟一个堆内存,存放里面的代码块,然后会把内存地址赋值给变量,在操作这个变量的时候,会通过内存地址去查找,然后修改里面的东西)

引用数据类型:

  object   array    function

  object,array 以键值对形式存放

  function以字符串形式存放

scroll:

  我们学习的client和offset,scrollwidth和 scrollheight  只读

  scrolltop,scrollleft,可读可写属性

  scrolltop最小值是0,存在边界值,当它为0是回到容器的顶部

  最大值是真是高度----当前容器一屏幕的高度,scrollheight,clientheight

函数中止用return

for循环中止用break  

 

posted @ 2018-11-30 15:37  黑太阳-  阅读(120)  评论(0编辑  收藏  举报