闭包
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闭包 选择器 面向对象 事件 操作页面的更多相关文章

  1. js导读,js引入,js选择器,事件,操作页面文档,计算后样式,数据类型

    js导读 ''' js属于编写运行在浏览器上的脚本语言 js采用ECMAScript语法 操作BOM:浏览器对象模型 eg:浏览器上下滑动,浏览器历史记录 操作DOM:文档对象模型 ''' js引入 ...

  2. js事件,操作页面文档,计算后样式,数据类型

    js:运行在浏览器的脚本语言 js引入 1.行间式:存在于行间事件中 <div id="div" onclick="this.style.color="r ...

  3. js --- 关于DOM的事件操作

    一.JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象 ...

  4. js闭包引起的事件注册问题

    背景:闲暇时间看了几篇关于js作用域链与闭包的文章,偶然又看到了之前遇到的一个问题,就是在for循环中为dom节点注册事件驱动,具体见下面代码: <!DOCTYPE html> <h ...

  5. 纯css实现二级导航菜单效果,通过简单的鼠标事件操作页面元素样式变换实现二级导航菜单的功能,非常简单实用,

    HTML代码如下 <!-- 头部导航栏开始--><div id="nav"><dl class="sy"><dt> ...

  6. 前端(十二)—— JavaScript基础操作:if语句、for循环、while循环、for...in、for...of、异常处理、函数、事件、JS选择器、JS操作页面样式

    JavaScript基础操作 一.分支结构 1.if语句 if 基础语法 if (条件表达式) { 代码块; } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通 ...

  7. 使用HTML5的JS选择器操作页面中的元素

    文件命名为:querySelector.html,可在Chrome浏览器中预览效果. 1 <!DOCTYPE html> 2 <html lang="en"> ...

  8. js介绍,js三种引入方式,js选择器,js四种调试方式,js操作页面文档DOM(修改文本,修改css样式,修改属性)

    js介绍 js运行编写在浏览器上的脚本语言(外挂,具有逻辑性) 脚本语言:运行在浏览器上的独立的代码块(具有逻辑性) 操作BOM 浏览器对象盒子 操作DOM 文本对象 js三种引入方式 (1)行间式: ...

  9. python 全栈开发,Day52(关于DOM操作的相关案例,JS中的面向对象,定时器,BOM,client、offset、scroll系列)

    昨日作业讲解: 京东购物车 京东购物车效果: 实现原理: 用2个盒子,就可以完整效果. 先让上面的小盒子向下移动1px,此时就出现了压盖效果.小盒子设置z-index压盖大盒子,将小盒子的下边框去掉, ...

随机推荐

  1. python基础之字符串以及切片等操作

    1.字符类型 1.整型 int  2. str 字符串 3.bool 布尔值 4.list 表格,常用于大量数据的存储 用[ ]表示  5.tuple 元祖 ,不能发生改变()表示  6.dict 字 ...

  2. loj#2353. 「NOI2007」 货币兑换 斜率优化

    题意略 题解:可以列出dp方程\(dp[i]=max(dp[j]*{\frac{a[i]*c[j]+b[i]}{a[j]*c[j]+b[j]}}\),化简可以得到\(\frac{dp[i]}{b[i] ...

  3. 【PowerDesigner】【1】简单介绍

    正文: 创建表格 File→New Model→(Model types; Physical Data Model; Physical Diagram)Model name:名称:DBMS:数据库类型 ...

  4. canvas移动端兼容性问题总结

    项目简介:在网页利用canvas在图片中动态绘制文字,合成一张图片,并导出 遇到的问题: 1.在移动端canvas drawImage()方法图片无法绘制出来,只显示文字 原因:图片未加载就进行绘制, ...

  5. Leetcode 1022. 可被 K 整除的最小整数

    1022. 可被 K 整除的最小整数  显示英文描述 我的提交返回竞赛   用户通过次数74 用户尝试次数262 通过次数75 提交次数1115 题目难度Medium 给定正整数 K,你需要找出可以被 ...

  6. InnoDB存储引擎介绍-(6) 二. Innodb Antelope文件格式

    InnoDB存储引擎和大多数数据库一样(如Oracle和Microsoft SQL Server数据库),记录是以行的形式存储的.这意味着页中保存着表中一行行的数据.到MySQL 5.1时,InnoD ...

  7. Oracle 11.2.0.4.0 Dataguard部署和日常维护(5)-Datauard 主备切换和故障转移篇

    1. dataguard主备切换   1.1. 查看当前主备库是否具备切换条件 on slave select sequence#,first_time,next_time,archived,appl ...

  8. iOS封装功能生成 .framework

    前言 如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件.然而,这种方法并不是很优雅.它会暴露所有的实现细节,而这些实现你可能并不想开源出来.此外,开发者也可能并不想看到你的所有代码,因为 ...

  9. RCNN 目标识别基本原理

    RCNN- 将CNN引入目标检测的开山之作 from:https://zhuanlan.zhihu.com/p/23006190 前面一直在写传统机器学习.从本篇开始写一写 深度学习的内容. 可能需要 ...

  10. hosts.allow和hosts.deny支持哪些服务

    一.背景简介 在linux上多用iptables来限制ssh和telnet,编缉hosts.allow和hosts.deny感觉比较麻烦比较少用. aix没有iptables且和linux有诸多不同, ...