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  

Js中级复习的更多相关文章

  1. 11-22 JS中级复习

    1.this js的关键字, 用途:指向某一个对象. 如何判断this指向 函数(方法)内 一种以函数的方式调用(不带.) this指向winodw 一种以方法的形式调用(函数名前面带.)this指向 ...

  2. codefordream 关于js中级训练

    中级训练接着就紧锣密鼓的开始了. 首先是关于变量,变量的作用是给一个数据值标注名称. 注:JavaScript中变量名,函数名,参数名的命名规范:至少由字母,下划线,美元符号,数字其中的一种组成,但不 ...

  3. JS基础 复习: Javascript的书写位置

    爱创课堂JS基础 复习: Javascript的书写位置复习 js书写位置:body标签的最底部.实际工作中使用书写在head标签内一对script标签里.alert()弹出框.console.log ...

  4. 我的JS 中级学习篇

    在codefordream上进入中级学习后,感觉立马从js的基础学习往前跳了好远,上面的东西好像都是第一次看到一样.这时候才发现,说来也曾接触过js,但是这时候才发现对js的认识就停在知道两点:js中 ...

  5. js中级6

    1.动画 (1)Css样式提供了运动 过渡属性transition  从一种情况到另一种情况叫过渡 transition:time          linear                 de ...

  6. js中级小知识1

    首先我们复习之前的小知识,本期博客与之前有关 js数据类型 基本数据类型:string    undefined         null         boolean          numbe ...

  7. JS基础复习

      js基础语法     Netcape        js基础语法规范(ECMAScript1,2,3,3.1,5(IE9),6   ES    ES6=es2015) DOM BOM       ...

  8. JS高级---复习

    复习 面向过程和面向对象都是编程的思想, 方式不一样 面向过程: 凡事都是亲力亲为, 所有的代码都要自己写, 每一步都要很清楚, 注重的是过程 面向对象: 执行者成为指挥者, 只要找对象, 然后让对象 ...

  9. JS中级 - 02:表单、表格

    getElementsByTagName() getElementsByTagName() 方法可返回带有指定标签名的对象的集合. getElementsByClassName() 返回文档中所有指定 ...

随机推荐

  1. 网络编程 UDP协议 TCP局域网客户端与服务端上传下载电影示例

    UDP协议 (了解) 称之为数据包协议,又称不可靠协议. 特点: 1) 不需要建立链接. 2) 不需要知道对方是否收到. 3) 数据不安全 4) 传输速度快 5)能支持并发 6) 不会粘包 7) 无需 ...

  2. 访问阿里云 vue项目的 127.0.0.1:+ip

    vue 127.0.0.1 将  localhost 改为 0.0.0.0 原理看下面链接 参考: https://www.cnblogs.com/sddai/p/9281189.html

  3. VMware遇到的一连串问题

    之前正常运行的VMware,再次打开提示“VMware Workstation pro 无法在 windows 上运行”, 百度一波,原来是微软的更新程序引起的问题,只要将最近的一次更新程序卸载然后重 ...

  4. Chrome DevTools的使用

    一.Chrome DevTools 简介 Chrome 开发者工具是一套内置于Google Chrome中的Web开发和调试工具,可用来对网站进行迭代.调试和分析 手册:Chrome 开发者工具中文手 ...

  5. 牛客NOIP暑期七天营-提高组1

    牛客NOIP暑期七天营-提高组1 链接 A 边权可为0就排序建一条链子. 但是边权不为0 除了第一个有0的不行. x连向上一个比他小的数. 期间判断有无解. #include <bits/std ...

  6. Mysql之配置双主热备+keeepalived.md

    准备 1 1. 双主 master1 192.168.199.49 2 master2 192.168.199.50 3 VIP 192.168.199.52 //虚拟IP 4 2.环境 master ...

  7. 使用vue搭建应用三引入scss

    Css.Sass.Scss的含义及区别 Css(Cascading Style Sheets) 层叠样式表 Sass(Syntactically Awesome StyleSheets) 是一款强化 ...

  8. Shell脚本之四 内建命令

    所谓 Shell 内建命令,就是由 Bash 自身提供的命令,而不是文件系统中的某个可执行文件. 可以使用 type 来确定一个命令是否是内建命令: [root@localhost ~]# type ...

  9. 《Linux就该这么学》培训笔记_ch23_使用OpenLDAP部署目录服务

    <Linux就该这么学>培训笔记_ch23_使用OpenLDAP部署目录服务 文章主要内容: 了解目录服务 目录服务实验 配置LDAP服务端 配置LDAP客户端 了解目录服务 其实目录可以 ...

  10. 【RS】:论文《Neural Collaborative Filtering》的思路及模型框架

    [论文的思路] NCF 框架如上: 1.输入层:首先将输入的user.item表示为二值化的稀疏向量(用one-hot encoding) 2.嵌入层(embedding):将稀疏表示映射为稠密向量( ...