闭包
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. Windows下如何使用Heroku

    1. 安装 进入https://devcenter.heroku.com/articles/heroku-cli#windows,选择对应版本安装 安装后使用heroku -v可检查版本号 2. 登陆 ...

  2. linux安装curl扩展

    1.获得安装包,从网上直接下载或者其他途径,这里直接wget wget http://curl.haxx.se/download/curl-7.20.0.tar.gz 2.解压到当前目录(或者 htt ...

  3. 【MySQL】【3】String和Date相互转换

    正文: 1,Date转String --结果:<2019-04-10> SELECT DATE_FORMAT(SYSDATE(), "%Y-%m-%d") FROM D ...

  4. python-django rest framework框架之路由

    路由 第一类:原始继承APIView # http://127.0.0.1:8000/api/v1/auth/ url(r'^auth/$', views.AuthView.as_view()), # ...

  5. SpringBoot利用注解@Value获取properties属性为null

    参考:https://www.cnblogs.com/zacky31/p/8609990.html 今天在项目中想使用@Value来获取Springboot中properties中属性值. 场景:定义 ...

  6. WebAPi获取请求头中对应键值

    /// <summary> /// 依据键获取请求头中值数据 /// </summary> /// <param name="request"> ...

  7. UNIX-like系统资源检查命令

    系统资源主要是内存.磁盘.CPU三项,其中任一项资源用尽都会造成系统崩溃. 系统 内存 磁盘空间 磁盘io CPU Linux free -g df -h   top AIX svmon -G/vms ...

  8. git上传新建项目

    新建立本地项目,现在需要上传到git.对上传过程归纳如下: 一 在gitlab中新建项目:如下图所示: 二,新建后获取url地址,在本地打开gitbash,根据url把git上的项目clone到本地: ...

  9. TinyXML C++解析XML

    TinyXML 1.0可以参照上面的说明,获取一些概念. 转:http://blog.csdn.net/L_Andy/article/details/40615517 TinyXML 2.0 可以参照 ...

  10. linux的命令:

    uname -r  linux的版本号 uname -a  显示系统名.节点名称.操作系统的发行版号.操作系统版本.运行系统的机器 ID 号 cd /dev/ 切换到根目录: ls 查看根目录文件