js闭包 选择器 面向对象 事件 操作页面
闭包
js函数的嵌套定义,定义在内部的函数 就称之为闭包
为什么使用闭包:
1.一个函数要使用另一个函数的局部变量
2.闭包会持久化包裹自身的函数的局部变量
3.解决循环绑定 function outer() {
var num =10;
function inner() {
//1.在inner函数中,使用了outer的局部变量num
return num;
}
return inner;
}
var innerFn = outer();
//2.借助闭包,将局部变量num的声明周期提升了
var num = innerFn();
console.log(num); 面向对象
对象:特征与行为的结合体,是一个具象的实体
对象使用属性与方法, 采用.语法 var obj = {
//属性
name:'Zero',
//方法
teach:function () {
console.log('教学');
}
};
console.log(obj.name);
obj.teach(); 构造函数:声明与普通函数一样,只是方法(函数)名采用大驼峰命名规则
function Persor(name) { //类似于python中的类来使用
//函数内部属性方式不同于普通函数
this.name=name; //this代表Persor构造函数实例化的对象本身
this.teach = function () {
console.log(this.name+ "正在教学");
}
} ES6类语法
class Student{ //, 可以实例化对象,但实例化的对象需要加以区分
//需要构造器(构造函数)来完成对象的声明与初始化
constructor(name){
//属性在构造器中声明并初始化
this.name=name;
}
// 类中规定普通方法
study() {
console.log(this.name+ "正在学习");
}
}
//类方法
static fn() {
console.log('我是类方法')
}
类中的普通方法由类的具体实例化对象来调用
类中的类方法由类直接来调用(这类型的方法大多是功能性方法,不需要对象的存在) js选择器
直接通过id名(不严谨,也不推荐使用)
getElement系列(最严谨)
id 获取:
getElementById('id名')
只能由document class 获取:
getElementsByClassName('class名')
可以由document以及所属父级调用 tag 获取
getElementsByTagName('标签名')
可以由document以及所属父级调用 querySelector
获取第一个满足要求的目标
querySelector() 获取所有满足要求的目标
querySelectorAll() 1.参数:就采用的是css选择器语法
2.可以由document及父级来调用
3.对id检索不严谨 事件初识
js事件:页面标签在满足某种条件下可以完成指定功能的这种过程,称之为事件
某种条件:如鼠标点击标签:点击事件 | 鼠标双击标签:双击事件 | 键盘按下:键盘按下事件
指定功能: 就是开发者根据实际需求完成相应的功能实现 钩子函数:就是满足某种条件被系统回调函数(完成某种功能)
点击事件:明确激活钩子的条件 = 激活钩子后该处理什么逻辑,完成指定功能(函数) js操作页面内容
文本内容
//box.innerText
//可以设值,也可以获取值 标签内容
//box.innerHTML
//可以设值,也可以获取值,能解析html语法代码 //box.outerHTML
//获取包含自身标签信息的所有字内容信息 样式
//box.style.样式名 ==>可以设值,也可以获取,但操作的只能是行间式
//getComputedStyle(box.null).样式名 ==>只能获取值,不能设值,能获取所有方式设置的值(行间式 与计算后样式)
//注: 获取计算后样式,需要关注值的格式
js闭包 选择器 面向对象 事件 操作页面的更多相关文章
- js导读,js引入,js选择器,事件,操作页面文档,计算后样式,数据类型
js导读 ''' js属于编写运行在浏览器上的脚本语言 js采用ECMAScript语法 操作BOM:浏览器对象模型 eg:浏览器上下滑动,浏览器历史记录 操作DOM:文档对象模型 ''' js引入 ...
- js事件,操作页面文档,计算后样式,数据类型
js:运行在浏览器的脚本语言 js引入 1.行间式:存在于行间事件中 <div id="div" onclick="this.style.color="r ...
- js --- 关于DOM的事件操作
一.JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象 ...
- js闭包引起的事件注册问题
背景:闲暇时间看了几篇关于js作用域链与闭包的文章,偶然又看到了之前遇到的一个问题,就是在for循环中为dom节点注册事件驱动,具体见下面代码: <!DOCTYPE html> <h ...
- 纯css实现二级导航菜单效果,通过简单的鼠标事件操作页面元素样式变换实现二级导航菜单的功能,非常简单实用,
HTML代码如下 <!-- 头部导航栏开始--><div id="nav"><dl class="sy"><dt> ...
- 前端(十二)—— JavaScript基础操作:if语句、for循环、while循环、for...in、for...of、异常处理、函数、事件、JS选择器、JS操作页面样式
JavaScript基础操作 一.分支结构 1.if语句 if 基础语法 if (条件表达式) { 代码块; } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通 ...
- 使用HTML5的JS选择器操作页面中的元素
文件命名为:querySelector.html,可在Chrome浏览器中预览效果. 1 <!DOCTYPE html> 2 <html lang="en"> ...
- js介绍,js三种引入方式,js选择器,js四种调试方式,js操作页面文档DOM(修改文本,修改css样式,修改属性)
js介绍 js运行编写在浏览器上的脚本语言(外挂,具有逻辑性) 脚本语言:运行在浏览器上的独立的代码块(具有逻辑性) 操作BOM 浏览器对象盒子 操作DOM 文本对象 js三种引入方式 (1)行间式: ...
- python 全栈开发,Day52(关于DOM操作的相关案例,JS中的面向对象,定时器,BOM,client、offset、scroll系列)
昨日作业讲解: 京东购物车 京东购物车效果: 实现原理: 用2个盒子,就可以完整效果. 先让上面的小盒子向下移动1px,此时就出现了压盖效果.小盒子设置z-index压盖大盒子,将小盒子的下边框去掉, ...
随机推荐
- python基础之小数据池,is和==区别 编码问题
主要内容 小数据池,is和==区别 编码问题 小数据池 一种缓存机制,也称为驻留机制,是为了能更快提高一些字符串和整数的处理速度is 和 == 的区别 == 主要指对变量值是否相等的判断,只要数值相同 ...
- hdu 1542 Atlantis (线段树扫描线)
大意: 求矩形面积并. 枚举$x$坐标, 线段树维护$[y_1,y_2]$内的边是否被覆盖, 线段树维护边时需要将每条边挂在左端点上. #include <iostream> #inclu ...
- spring boot(十六)使用Jenkins部署spring boot
jenkins是devops神器,本篇文章介绍如何安装和使用jenkins部署Spring Boot项目 jenkins搭建 部署分为三个步骤: 第一步,jenkins安装 第二步,插件安装和配置 第 ...
- python装饰器概念与应用
格式一:装饰器外层不传参,内层传参 user_status = False # 用户登录了就把这个改成True def login(func): # 把要执行的henan模块从这里传进来 def in ...
- hash、hashchange事件
1.hash即URL中"#"字符后面的部分. ①使用浏览器访问网页时,如果网页URL中带有hash,页面就会定位到id(或name)与hash值一样的元素的位置: ②hash还有另 ...
- docker实战系列之搭建rabbitmq
1.搜索镜像[注:因为我这里采用的是阿里云镜像加速器,所以我直接在阿里云中搜索相关镜像路径],点击"详情"查看公网拉取路径 2.拉取镜像 docker pull registry. ...
- docker实战系列之快速删除docker中的容器
1.停用全部运行中的容器 docker stop $(docker ps -q) 2.删除全部容器 docker rm $(docker ps -aq) 3.停用并删除容器 docker stop $ ...
- [CodeForces - 614C] C - Peter and Snow Blower
C - Peter and Snow Blower Peter got a new snow blower as a New Year present. Of course, Peter decide ...
- IIS无法启动,应用程序池自动关闭
问题:打开网站中的资源,对应的应用程序池就自动停止 解决方案:在应用程序池上--右键--高级设置--进程模型--标识,更改了这项里的“内置账户”.将原有的“ApplicationPoolIdentit ...
- 使用virustotal VT 查询情报——感觉远远没有微步、思科好用,10万条数据查出来5万条都有postives >0的记录,尼玛!!!
1399 git clone https://github.com/VirusTotal/c-vtapi.git 1400 cd c-vtapi/ 1402 sudo apt-get install ...