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
Js中级复习的更多相关文章
- 11-22 JS中级复习
1.this js的关键字, 用途:指向某一个对象. 如何判断this指向 函数(方法)内 一种以函数的方式调用(不带.) this指向winodw 一种以方法的形式调用(函数名前面带.)this指向 ...
- codefordream 关于js中级训练
中级训练接着就紧锣密鼓的开始了. 首先是关于变量,变量的作用是给一个数据值标注名称. 注:JavaScript中变量名,函数名,参数名的命名规范:至少由字母,下划线,美元符号,数字其中的一种组成,但不 ...
- JS基础 复习: Javascript的书写位置
爱创课堂JS基础 复习: Javascript的书写位置复习 js书写位置:body标签的最底部.实际工作中使用书写在head标签内一对script标签里.alert()弹出框.console.log ...
- 我的JS 中级学习篇
在codefordream上进入中级学习后,感觉立马从js的基础学习往前跳了好远,上面的东西好像都是第一次看到一样.这时候才发现,说来也曾接触过js,但是这时候才发现对js的认识就停在知道两点:js中 ...
- js中级6
1.动画 (1)Css样式提供了运动 过渡属性transition 从一种情况到另一种情况叫过渡 transition:time linear de ...
- js中级小知识1
首先我们复习之前的小知识,本期博客与之前有关 js数据类型 基本数据类型:string undefined null boolean numbe ...
- JS基础复习
js基础语法 Netcape js基础语法规范(ECMAScript1,2,3,3.1,5(IE9),6 ES ES6=es2015) DOM BOM ...
- JS高级---复习
复习 面向过程和面向对象都是编程的思想, 方式不一样 面向过程: 凡事都是亲力亲为, 所有的代码都要自己写, 每一步都要很清楚, 注重的是过程 面向对象: 执行者成为指挥者, 只要找对象, 然后让对象 ...
- JS中级 - 02:表单、表格
getElementsByTagName() getElementsByTagName() 方法可返回带有指定标签名的对象的集合. getElementsByClassName() 返回文档中所有指定 ...
随机推荐
- 网络编程 UDP协议 TCP局域网客户端与服务端上传下载电影示例
UDP协议 (了解) 称之为数据包协议,又称不可靠协议. 特点: 1) 不需要建立链接. 2) 不需要知道对方是否收到. 3) 数据不安全 4) 传输速度快 5)能支持并发 6) 不会粘包 7) 无需 ...
- 访问阿里云 vue项目的 127.0.0.1:+ip
vue 127.0.0.1 将 localhost 改为 0.0.0.0 原理看下面链接 参考: https://www.cnblogs.com/sddai/p/9281189.html
- VMware遇到的一连串问题
之前正常运行的VMware,再次打开提示“VMware Workstation pro 无法在 windows 上运行”, 百度一波,原来是微软的更新程序引起的问题,只要将最近的一次更新程序卸载然后重 ...
- Chrome DevTools的使用
一.Chrome DevTools 简介 Chrome 开发者工具是一套内置于Google Chrome中的Web开发和调试工具,可用来对网站进行迭代.调试和分析 手册:Chrome 开发者工具中文手 ...
- 牛客NOIP暑期七天营-提高组1
牛客NOIP暑期七天营-提高组1 链接 A 边权可为0就排序建一条链子. 但是边权不为0 除了第一个有0的不行. x连向上一个比他小的数. 期间判断有无解. #include <bits/std ...
- 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 ...
- 使用vue搭建应用三引入scss
Css.Sass.Scss的含义及区别 Css(Cascading Style Sheets) 层叠样式表 Sass(Syntactically Awesome StyleSheets) 是一款强化 ...
- Shell脚本之四 内建命令
所谓 Shell 内建命令,就是由 Bash 自身提供的命令,而不是文件系统中的某个可执行文件. 可以使用 type 来确定一个命令是否是内建命令: [root@localhost ~]# type ...
- 《Linux就该这么学》培训笔记_ch23_使用OpenLDAP部署目录服务
<Linux就该这么学>培训笔记_ch23_使用OpenLDAP部署目录服务 文章主要内容: 了解目录服务 目录服务实验 配置LDAP服务端 配置LDAP客户端 了解目录服务 其实目录可以 ...
- 【RS】:论文《Neural Collaborative Filtering》的思路及模型框架
[论文的思路] NCF 框架如上: 1.输入层:首先将输入的user.item表示为二值化的稀疏向量(用one-hot encoding) 2.嵌入层(embedding):将稀疏表示映射为稠密向量( ...