第六十五天 js操作
1.闭包
// 函数的嵌套定义,定义在内部的函数都称之为 闭包
// 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);
2.面向对象js
// 1.单一对象
var obj = {
// 属性
name:'zero';
// 方法
teach:function(){
console.log("教学");
}
};
obj.name | obj.teach()
// 2.构造函数
function Person(name){ // 类似于python中的类一样来使用
// this代表Person构造函数实例化出的所有具体对象中的某一个
this.name = name;
this.teach = function(){
console.log(this.name+"正在教育");
}
}
// ①通过构造函数实例化出具体对象
// ②通过对象,语法调用的属性与方法
var p1 = new Person("张三");
p1.name // 张三,this指向p1对象
var p2 = new Person("李四");
p2.teache // 李四正在教学,this指向p2对象
// 3.ES6类语法
class Student{
// 需要构造器(构造函数)来完成对象声明与初始化
constructor(name){
// 属性在构造器中声明完成初始化
this.name = name;
}
// 类方法
static fn(){
console.log("我是类方法")
}
}
// 类中的普通方法由类的具体实例化对象来调用
// 类中的类方法由类直接调用(这类型的方法大多是功能性方法,不需要对象的存在)
3.js选择器
直接通过id名(不严谨,也不推荐使用)
getElement系列(最严谨)
// id获取:
// getElementById('id名')
// 只能由document来调用 // class获取
// getElementByClassName('class名')
// 可以由document以及所属父级调用 // tag获取
// getElementsByTagName('标签名')
// 可以由document以及所属父级调用 querySelector
// 获取第一个满足要求的目标
//querySelector() // 获取所有满足要求的目标
// querySelectorAll() // 1.参数:就采用的是css选择器语法
// 2.可以由document及父级来调用
// 3.对id检索不严谨
4.事件初识
// js事件: 页面标签在满足某种条件下可以完成指定功能的这种功能,称之为事件
// 某种条件:如鼠标点击标签:点击事件 | 鼠标双击标签:双击事件 | 键盘按下:
键盘按下事件
// 指定功能:就是开发者根据实际需求完整相应的功能实现 // 钩子函数:就是满足某种条件被系统回调的函数(完成指定功能)
// 点击事件:明确激活钩子的条件 = 机会钩子后该处理什么逻辑,完成指定功能(函数) // 获取页面标签是前提
var div = documet.querySelector('.div')
// 钩子条件:双击 = 指定功能(自身背景颜色变红)
div.ondblclick = function(){
this.sytle.backgroundColor = "red";
}
5.js操作页面内容
文本内容
// box.innerText
// 可以设值,也可以取值
标签内容
// box.innerHTML
// 可以设值,也可以取值,能解析html语法代码 // box.outerHTML
// 获取包含自身标签信息的所有子内容信息
样式
// box.style.样式名 ==》可以设值,可以取值,但操作的只能是行间式
// getComputedStyle(box,null). 样式名 ==》只能取值,不能设值,能获取所有方式设值的值(行间式 与 计算后样式) // 注:获取计算后样式,需要关注值得格式
第六十五天 js操作的更多相关文章
- python第六十五天--python操作mysql
pymysql模块对mysql进行 import pymysql # 创建连接 conn = pymysql.connect(host='127.0.0.1', port=3306, user='ro ...
- Gradle 1.12用户指南翻译——第六十五章. Maven 发布(新)
其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上的地址:https://gith ...
- 孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4
孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十一天. 今天继续学习mongoDB的简单操作 ...
- 《手把手教你》系列技巧篇(六十五)-java+ selenium自动化测试 - cookie -下篇(详细教程)
1.简介 今天这一篇,宏哥主要讲解:利用WebDriver 提供可以读取.添加和删除cookie 信息的相关操作方法.验证浏览器中是否存在某个cookie.原因是:因为基于真实的cookie 的测试是 ...
- Bootstrap入门(二十五)JS插件2:过渡效果
Bootstrap入门(二十五)JS插件2:过渡效果 对于简单的过渡效果,只需将 transition.js 和其它 JS 文件一起引入即可.如果你使用的是编译(或压缩)版的bootstrap.js ...
- 第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询
第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询 1.elasticsearch(搜索引擎)的查询 elasticsearch是功能 ...
- “全栈2019”Java第六十五章:接口与默认方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- OpenCV开发笔记(六十五):红胖子8分钟带你深入了解ORB特征点(图文并茂+浅显易懂+程序源码)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- 第六十四天 JS基础操作
一.分支结构 1.if语句 if基础语句 if(条件表达式){ 代码块: } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通表达式 // 0.undefined ...
随机推荐
- arcgis api 3.x for js 入门开发系列二不同地图服务展示(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- iOS----------随机色
#define KColorRandomColor [UIColor colorWithRed:arc4random()%255/255.0 green:arc4random()%255/255.0 ...
- C#检查字符串是否是合法的HTTP URL地址的代码
在研发过程,把开发过程较好的一些内容片段记录起来,下面的内容是关于C#检查字符串是否是合法的HTTP URL地址的内容,应该是对各位有较大用处. protected string HTTPChecke ...
- 美团技术沙龙01 - 58到家服务的订单调度&数据分析技术
1. 2015.4.15 到家服务的订单调度&数据分析技术 58到家· 黄海斌 @xemoaya 2.agenda • 58到家介绍 • 订单管理系统介绍 • 数据分析技术的应用 3.2015 ...
- 【案例分享】crontab执行脚本异常问题
很多时候我们会遇见这种情况,我们千辛万苦写了一个脚本,经过测试,一切正常,然后放到了crontab里面执行,结果,不管怎么配置,就是执行不正常. 结果发现环境问题,居然是这个异常的元凶. 我们先在我们 ...
- [20190401]隐含参数_mutex_spin_count.txt
[20190401]隐含参数_mutex_spin_count.txt --//上午做了一些测试关于semtimedop函数调用,发现自己上个星期在一些问题上理解错误.--//相关链接:--//htt ...
- 20181112-PostgreSQL数据库dmp文件导入(记录一次数据导入)
20181112-PostgreSQL数据库dmp文件导入 标注:dmp文件导入,场景:多个schema导入 1. 环境准备: postgres集群master节点上,postgres用户执行以下操作 ...
- Linux分页机制之分页机制的实现详解--Linux内存管理(八)
1 linux的分页机制 1.1 四级分页机制 前面我们提到Linux内核仅使用了较少的分段机制,但是却对分页机制的依赖性很强,其使用一种适合32位和64位结构的通用分页模型,该模型使用四级分页机制, ...
- 如何在Spring Data JPA中引入Querydsl
一.环境说明 基础框架采用Spring Boot.Spring Data JPA.Hibernate.在动态查询中,有一种方式是采用Querydsl的方式. 二.具体配置 1.在pom.xml中,引入 ...
- 网络编程_tcp与dup协议简单应用
老师的博客:http://www.cnblogs.com/Eva-J/articles/8066842.html 计算机网络基础 :http://www.cnblogs.com/Eva-J/artic ...