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压盖大盒子,将小盒子的下边框去掉, ...
随机推荐
- harbor安装
一.下载安装包https://github.com/goharbor/harbor/releases wget https://storage.googleapis.com/harbor-releas ...
- python-day97--django-ModelForm
Model Form :直接利用你的models里的字段 应用场景: - ModelForm - 中小型应用程序(model是你自己写的) - Form - 大型应用程序 注意事项: - 1. 类 f ...
- 解决gitHub下载速度慢的问题
转载:http://blog.csdn.net/x_studying/article/details/72588324 github被某个CDN被伟大的墙屏蔽所致. 解决方法: 1.访问http:// ...
- Notes for GGplot2: Getting started with ggplot2
Alpha-ma 2016/10/7 1 Introduction of GGplot2 ggplot2 is an R package for producing statistical, or d ...
- SQLServer 2008以上误操作数据库恢复方法—日志尾部备份
原文出处:http://blog.csdn.net/dba_huangzj/article/details/8491327 问题: 经常看到有人误删数据,或者误操作,特别是update和delete的 ...
- nginx源码安装教程(CentOS)
1.说明 官方源码安装说明:http://nginx.org/en/docs/configure.html 源码包下载地址:http://nginx.org/en/download.html 版本说明 ...
- find中的-exec参数
1.find中的-exec参数 在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行 find ./ -name "*.txt" -ex ...
- @RequestParam的使用
来源:http://825635381.iteye.com/blog/2196911 @RequestParam: 一. 基本使用,获取提交的参数 后端代码: @RequestMapping(&quo ...
- Java线程池理解及用法
前言 多线程的异步执行方式,虽然能够最大限度发挥多核计算机的计算能力,但是如果不加控制,反而会对系统造成负担.线程本身也要占用内存空间,大量的线程会占用内存资源并且可能会导致Out of Memory ...
- ubuntu16.10安装搜狗输入法
一.搜狗输入法安装 1.首先到搜狗输入法官网下载搜狗输入法,下载的是个deb文件. 搜狗输入法Linux版下载地址:http://pinyin.sogou.com/linux/?r=pinyin 2. ...