自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 付费视频被人薅走?了解一下hls视频加密

作者现在主要负责的项目是通过音视频等课程提高教师职业能力的,说白了就是给老师卖课赚钱。大家都知道知识付费现在还是很火的,既然是要付费的知识,就肯定有人想白嫖,直接去下载课程里面音视频。业界就有很多工具,比如说IDM、NeatDM、迅雷等等(再多说就是在教大家犯罪了哈哈,大家千万不要点开),产品经理就说要做音视频加密。

2022-12-16 15:53:25 1033

原创 JavaScript进阶:深入理解事件与事件流

JavaScript进阶:深入理解事件对象事件流事件流描述的是从页面中接收事件的顺序。对于事件流IE和Netscape开发团队提出了相反的事件流概念。前者提出的是事件流冒泡(也是现在的主要事件流),后者提出了事件流捕获。 事件冒泡IE的事件流叫做事件冒泡,开始时由最具体的节点接收事件,向上逐级传播到最不具体的节点(document)。比如说:

2017-08-31 13:37:46 546

原创 JavaScript进阶:深入理解原型与原型链

JavaScript进阶:深入理解原型与原型链一、普通对象和函数对象对象可以分为普通对象和函数对象,Object和Function是ECMAScript是自带函数对象。看如下代码:function fun1 () {};var fun2 = new Function(); var ob1 = {};var ob2 = new Object();var ob3 = n

2017-08-27 01:01:14 375

原创 JavaScript进阶:深入理解数据类型

JavaScript进阶:深入理解数据类型基本的数据类型ECMAScript5中有5种基本数据类型:Undefined、Null、Number、String、Boolean,ECMAScript6中新增了symbol。另外还有一种复杂数据类型——Object,它的本质是由一组无序的名值对组成的。 typeof操作符鉴于ES是弱类型,或者说是松散类型的,因此需要一种手段检测给定变

2017-08-25 23:02:32 299

原创 CSS3进阶:深入理解浮动

浮动的定义这里参考:http://www.w3school.com.cn/cssref/pr_class_float.asp 浮动元素首先,会以某种方式将浮动元素从文档流中删除,不过它对布局依旧有影响。比如,一个元素浮动时,其他元素会围绕该元素。如图1。CSS代码:p.aside{            float: right;            margin

2017-08-20 21:42:58 1056 1

原创 JavaScript进阶:JS的全局变量和全局函数

JavaScript全局属性Infinity:代表无穷大的数值。NaN:代表某个值不是数字值。undefined:代表未定义的值。 JavaScript全局函数 一、enCodeURI()定义和用法encode()可把字符串作URI进行编码。对URI中具有特殊含义的ASCII标点符号,enCodeURI()函数不会进行转义,他们包括:, / ? : @

2017-08-20 21:38:35 841

原创 JavaScript进阶:清楚浏览器缓存的方法

JavaScript进阶:清楚浏览器缓存的方法前言关于浏览器缓存,可以提高网站的性能及访问速度。但是有的时候,缓存会带来很多麻烦,使得网页不能及时地更新数据。比如说股票类、新闻类网站,它们需要及时更新数据,所以不适合缓存,这里介绍几种清楚缓存的方法一、URL+随机数在AJAX对象的open()方法中,有参数URL,参数URL后加上”?” + Math.random();二、

2017-08-16 10:26:22 366

转载 JavaScript进阶:js操作符类型转换

本文转载博客:http://www.haorooms.com/post/js_czf_mst //操作符字符串的隐性转换 //乘法 console.dir("-------以下乘法---------"); console.dir(5*"5"); console.dir(5*"a"); console.dir(5*NaN); console.dir(5*null); c

2017-08-09 12:02:51 169

原创 JavaScript进阶:隐性的类型转化

JS进阶:隐性类型转化前言一般if()中确定两边是否相等,可以使用“==”或“===”,也就是宽松相等和严格模式中的严格相等。这里探讨的是“==”宽松相等引起的隐性转换 转换步骤翻阅了多篇博文,发现它们关于隐形转换的思考步骤都大同小异,在这概括一下。1、看双等号两边有没有NaN,若存在NaN,肯定返回false;2、看双等号两边有没有布尔值,若存在,将布尔值转换为数

2017-08-09 09:44:05 363

原创 JavaScript进阶:数组迭代常用方法

前言为了加深个人对JavaScript数组迭代的理解,写下这一博客以作总结。定义every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则结果返回true(这里有点像逻辑运算符‘与’即‘&&’)。some():对数组中的每一项运行给定函数,如果该函数任意一项返回true,则结果返回true(这里有点像逻辑运算符‘或’即‘||’)。filter():对数组

2017-08-07 16:24:48 349

原创 JavaScript进阶:数组常用方法

前言为了加深对数组多个方法的理解,再此对数组常用方法进行总结。转换方法分别是:toLocaleString()、toString()、valueOf()。 定义:这里直接看看W3Cschool的定义,简单理解一下 1、toLocaleString()、toString()有什么区别? 看我写的两段代码: 代码1: var arr = [1,2,3]; consol

2017-08-06 21:34:10 260

原创 JavaScript进阶:谈谈对闭包的理解

前言这篇文章是我读了,阮一峰老师关于闭包的一篇博客的读后感,为了加深自己对闭包的理解,在这里写下自己对闭包的理解,欢迎大家指出错误。一、变量的作用域要理解闭包,首先说一下Javascript特殊的变量作用域。变量的作用域有两种:局部变量和全局变量。Javascript的函数内部可以读取全局变量,而外部函数不可以却不可以读取某个函数的局部变量。二、如何从外部读取局部变量?这里我直接引用了阮一峰老师的例

2017-08-03 20:51:48 988

原创 JavaScript进阶:this和prototype

一、this 1、this表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window; 如果在函数中使用this,则this指代什么是根据运行时此函数在什么对象上被调用。 我们还可以使用apply和call两个全局方法来改变函数中this的具体指向。看一个例子:alert(this == window); //true再看一个例子: // 定义一个全局函数

2017-08-03 20:46:49 330

原创 JavaScript进阶:正则表达式

前言这篇博客是我对正则表达式一些基础知识的整理。基础部分1.1 什么是正则表达式是一种特殊的字符串模式作用是匹配字符串如同用模具做产品,正则表达式就是模具,具体的字符串就是产品定义一种规则去匹配复合规则的字符串1.2 元字符介绍“^” :  ^会匹配行或者字符串的开头,有时会匹配整个文档的起始位置“$”:  $匹配字符串的结尾。“\b”:  单词的边

2017-08-03 20:41:41 228

原创 JavaScript进阶:几个排序算法

前言为了便于对排序算法的理解,在本文写下三个排序算法的基本思想,在以后会继续补充。算法1、冒泡排序(Bubble Sort)平均时间复杂度:O(n2)。var myarr=new Array(5,4,3,2,1);function bubbleSort(arr){ var temp; var len=arr.length; for(var i=0;

2017-08-03 20:30:04 239

转载 JavaScript进阶:setInterval、setTimeout不能传递带参数的函数的解决方案

在JS中无论是setTimeout还是setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必须要带参数,这就需要想方法解决。 一、采用字符串形式:——(缺陷)参数不能被周期性改变 setInterval("foo(id)",1000); 二、匿名函数包装 (推荐) 代码如下:window.setInterval(functio

2017-07-18 20:39:14 1064

原创 JavaScript进阶:JS中的call()、apply()和bind方法

call()、apply()和bind方法1、call方法:语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]])定义:调用一个对象的一个方法,以另一个对象替换当前对象。说明:call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。如果没有提供

2017-06-23 20:35:16 402

原创 子节点childNodes的兼容性问题

一、子节点:childNodes我们来看看下面的代码运行结果:IE: UL子节点个数:3 节点类型:1其它浏览器: UL子节点个数:7 节点类型:3注意:1. IE全系列、firefox、chrome、opera、safari兼容问题2. 节点之间的空白符,在firefox、chrome、opera、safari浏览器是文本节点,所以

2017-05-30 19:56:15 2028

转载 JavaScript DOM 如何区分元素节点、属性节点和文本节点?

一张图区分JavaScript DOM中的元素节点、属性节点和文本节点

2017-05-30 19:35:02 2653

原创 下拉菜单的两种实现方式:CSS和JS

下拉菜单的简单介绍、源代码以及可能出现相关问题

2017-05-28 10:15:37 14635 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除