自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hr226的博客

0 和 1 的世界很美腻~

  • 博客(93)
  • 收藏
  • 关注

转载 JS插入排序源码

插入排序:将一个记录插入到已排好序的序列中,从而得到一个新的有序序列(将序列的第一个数据看成是一个有序的子序列,然后从第二个记录逐个向该有序的子序列进行有序的插入,直至整个序列有序)。var arr = [2, 1, 5, 3, 6, 4, 9, 8, 7];var tmp;for (var i = 1; i < arr.length; i++) { // 待排元素小于有序序列的最后一个元素时,向前插入 if (arr[i] < arr[i - 1]) {

2020-07-04 19:49:55 172

转载 JS快速排序源码

快速排序,说白了就是给基准数据找其正确索引位置的过程。本质是把基准数大的都放在基准数的右边,把比基准数小的放在基准数的左边,这样就找到了该数据在数组中的正确位置。采用递归的方式分别对前半部分和后半部分排序,当前半部分和后半部分均有序时该数组就自然有序了。过程:假设最开始的基准数据为数组的第一个元素,则首先用一个临时变量tmp去存储基准数据;然后分别从数组两端扫描数组,设两个指示标志:low指向数组起始位置,high指向数组末尾(tmp并不是low或high)1、首先从后半部分开始,如果扫描到的值大于基

2020-07-04 19:32:43 219

原创 什么是闭包(closure)?

闭包指能够读取其他函数内部变量的函数。在JS中,只有函数内部的子函数才能读取局部变量,所以闭包也可以理解成“定义在一个函数内部的函数”。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。// 为了更好说明闭包,创建一个闭包function hello(){ // 函数执行完毕,变量仍然存在 var num=100; var showResult=function(){alert(num);} num++; return showResult;}var sho

2020-07-04 18:40:35 461

原创 JS求一个字符串字节长度和判断字符是否为中文源码

题目:求一个字符串的长度(单位是字节),假设一个英文字符占用一字节,一个中文字符占用两字节。function GetBytes(str) { var bytes = str.length; //字符串长度为初始化 for (var i = 0; i < bytes; i++) { //charCodeAt():返回指定位置字符的unicode编码;当编码unicode大于255时,可以判断该字符字节长度为2(即该字符为中文) if (str.char

2020-07-04 18:30:50 213

原创 JS查找值是否在矩阵中源码

/* 二维数组中的查找 题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。*/function Find(target, arr) { // 边界条件判断:二维数组是否为空、二维数组长度是否为0、一维数组是否为空一维数组列数是否为0 if (arr == null || arr.length == 0 || arr[0] ==

2020-07-04 18:13:19 152

原创 JS同源策略

同源策略是客户端脚本(尤其是JS)的重要安全度量标准。它最早出自Netscape Navigator 2.0,目的是防止某个文档或脚本从多个不同源装载。同源策略指的是协议、域名、端口相同。指一段脚本只能读取来自同一来源的窗口和文档的属性。...

2020-07-04 18:12:15 106

原创 JS如何实现异步编程?

法1:通过回调函数。优点是简单、容易理解和部署;缺点是不利于代码的阅读和维护,各个部分之间高度耦合(Coupling),流程混乱,而且每个任务只能指定一个回调函数。法2:通过事件监听。可以绑定多个事件,每个事件可以指定多个回调函数,而且可以“去耦合”(Decoupling),有利于实现模块化;缺点...

2020-07-04 18:09:45 378

原创 JS对象的几种创建方式

1、Object构造函数方式;2、对象字面量式;3、工厂模式;4、安全工厂模式;5、构造函数模式;6、原型模式;7、混合构造函数和原型模式;8、动态原型模式;9、寄生构造函数模式;10、稳妥构造函数模式。...

2020-07-04 11:00:03 119

转载 JS for循环输出i为同一值问题

问题:每次弹出for循环的最后一个值,而不是点击每个p就弹出对应的值?<p>1</p><p>2</p><p>3</p><script> window.onload = function () { var ps=document.getElementsByTagName('p'); for(var i=0; i<ps.length; i++){ ps

2020-07-04 10:45:50 1410

原创 列举IE和FF的不同之处

不同之处:1、IE支持currentStyle;FF(Firefox)使用getComputeStyle;2、IE使用innerText;FF使用textContent;3、在透明度滤镜方面,IE使用filter:alpha(opacity=num);FF使用-moz-opacity:num;4、在事件方面,IE使用attachEvent;FF使用addEventListener;5、对于鼠标位置:IE使用event.clientX;FF使用event.pageX;6、IE使用event.src

2020-07-04 10:15:30 417

原创 哪些操作会造成内存泄漏?

内存泄漏指不用拥有或需要任何对象(数据)之后,它们仍然存在于内存中。提示:垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为0(没有其他对象引用过该对象),或对该对象的唯一引用是循环的,那么该对象占用的内存立即被回收。如果setTimeout的第一个参数使用字符串而非函数,会引发内存泄漏。闭包、控制台日志、循环(在两个对象彼此引用且彼此保留是,就会产生一个循环)等会造成内存泄漏。...

2020-07-04 09:30:34 1487

原创 call()和apply()区别及作用

作用都是在函数执行的时候,动态改变函数的运行环境(执行上下文)。call和apply的第一个参数都是改变运行环境的对象。区别:call从第二个参数开始,每一个参数会依次传递给调用函数;apply的第二个参数是数组,数组的每一个成员会依次传递给调用函数。如:func.call(func1,var1,var2,var3)func.apply(func1,[var1,var2,var3])...

2020-07-04 09:15:54 355

原创 new操作符的作用是什么?

1、创建一个空对象;2、由this变量引用该对象;3、该对象继承该函数的原型(更改原型链的指向);4、把属性和方法加入到this引用的对象中;5、新创建的对象由this引用,最后隐式的返回this,过程如下:var obj={};obj.__proto__=Base.prototype;Base.call(obj)...

2020-07-04 00:23:39 1363

原创 null和undefined区别

null是一个表示“无”的对象,转为数值时为0;undefined是一个表示“无”的原始值,转为数值时为NaN。当声明的变量还未初始化时,变量的默认值为undefined。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。undefined表示“缺少值”,即此处应该有一个值,但是还没有定义,典型用法是如下:1、如果变量声明了,但没有赋值,它就等于undefined;2、当调用函数时,如果没有提供应该提供的参数,该参数就等于undefined;3、如果对象没有赋值,该属性的值

2020-07-04 00:18:47 260

原创 在DOM操作中怎样创建、添加、移除、替换、插入和查找节点?

1、创建新节点:createDocumentFragment() //创建一个DOM片段createElement() //创建一个具体的元素createTextNode() //创建一个文本节点2、添加、移除、替换、插入节点:appendChild()removeChild()replaceChild()insertBefore()insertAfter()3、查找节点:getElementsByTagName() //通过标签名称查找节点getElementsByName() /

2020-07-04 00:11:20 2288

原创 如何在不支持JS的旧浏览器中隐藏JS代码?

在标签之前添加“//–>”,代码中没有引号。旧浏览器现在将JS代码视为一个长的HTML注释,而支持JS的浏览器则将""作为一行注释。

2020-07-03 23:59:14 784

原创 为什么不建议在JS中使用innerHTML?

通过innerHTML修改内容,每次都会刷新,因此很慢。在innerHTML中没有验证的机会,因此更容易在文档中插入错误代码,使网页不稳定。

2020-07-03 23:26:45 1540 1

原创 encodeURI()和decodeURI()

encodeURI()用于将URL转换为十六进制编码。decodeURI()用于将编码的URL转换回正常URL。

2020-07-03 23:14:27 392

原创 JS unshift()方法

该方法在数组启动时起作用,与push()不同。它将参数成员添加到数组的顶部。var name=['john'];name.unshift('charlie');name.unshift('joseph','jane');console.log(name); //['joseph','jane','charlie','john']

2020-07-02 23:39:50 529

原创 JS 闭包

使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染;缺点是闭包会常驻内存,增加内存使用量,使用不当很容易造成内存泄漏。在JS中,函数即闭包,只有函数才会产生作用域。闭包有3个热性:1、函数嵌套函数。2、在函数内部可以引用外部的参数和变量。3、参数和变量不会以垃圾回收机制回收。...

2020-07-02 23:36:29 70

原创 script标签中defer和async属性的区别

1、defer属性规定是否延迟执行脚本,直到页面加载为止。async属性规定脚本一旦可用,就异步执行;2、defer并行加载JS文件,会按照页面上script标签的顺序执行。async并行加载JS文件,下载完成立即执行,不会按照页面上script标签的顺序执行。...

2020-07-02 23:32:56 166

原创 DOM节点类型

1、整个文档是一个文档节点2、每个HTML标签是一个元素节点3、每个HTML属性是一个属性节点4、包含在HTML元素中的文本是文本节点

2020-07-02 23:29:22 72

原创 HTML知识

前端开发:Web Front-end development后端开发:Web Back-end development前端开发:1】开发什么:结构布局、样式呈现、页面的动态交互:js-脚本、数据交互处理、数据格式化渲染结构布局、样式呈现、行为逻辑HTML CSS JavaScript2】title标签内的文字一般是30-40个字符,只少不多如何写title:主页:网站名...

2020-07-02 22:59:26 117

原创 CSS知识

1】浏览器组成部分:1、shell:用户在浏览器上所能看到的外观2、内核:浏览器能运行起来的技术:渲染引擎rendering:网页语法解析和渲染打印JS引擎:3、主流浏览器及内核:Google Chrome——webkit / blinkfirefox——geckoIE——tridentopera——presto,现属于360和昆仑万维safari——webkit2】CSS:...

2020-07-02 22:58:59 177

原创 JS垃圾回收机制

1、标记清除(mark and sweep)这是JavaScript最常见的垃圾回收方式。当变量进入执行环境的时候,比如在函数中声明一个变量,垃圾回收器将其标记为“进入环境”。当变量离开环境的时候(函数执行结束),将其标记为“离开环境”。垃圾回收器会在运行的时候给存储在内存中的所以变量加上标记,然后去掉环境中的变量,以及被环境中变量所引用的变量(闭包)的标记。在完成这些之后仍然存在的标记就是要删除的变量。2、引用计数(reference counting)在低版本的IE中经常会发生内存泄漏,很多时候

2020-07-02 22:40:53 676

原创 前端小知识

Google Chrome浏览器和Safari 3.1对CSS的支持度基本一致。Safari使用的内核是Webkit,Google Chrome是Blink内核,Blink从WebKit继承而来,因此两者有很多相似之处。自律代表着别人是否对你尊重自爱的程度代表别人爱你的程度...

2020-07-02 13:31:57 90

原创 CSS hack

CSS hack的目的是使CSS代码兼容不同的浏览器,主要的属性如下所示:_:选择IE6及以下。连接线(中划线)(-)亦可使用,为了避免与某些带中划线的属性混淆,所以使用下划线(_)更为合适;*:选择IE7及以下。(+)与(#)之类的均可使用,不过业界对(*)的认知度更高;\9:选择IE6+;/0:选择IE8+和Opera。...

2020-07-02 12:02:59 104

原创 ES6 Class类

1、通过class关键字定义类;2、Class不存在变量提升;3、类中有一个构造constructor方法;4、通过new命令生成对象实例时,自动调用constructor方法;5、构造方法中的this关键字代表实例对象;6、构造函数也有prototype属性,所有方法在prototype属性上;7、类的方法内部若有this,默认指向类的实例;8、类的所有实例共享一个原型对象,实例的原型上的__proto__属性是相等的;9、类之间通过extends关键字实现继承;10、子类必须在cons

2020-06-15 14:55:56 83

原创 OSI七层模型 & TCP/IP四层模型

OSI七层模型:物理层:定义物理设备标准,传输比特流。数据链路层:定义如何让格式化数据进行传输,以及如何让控制对物理介质进行访问;另外,该层还提供错误和纠正,确保数据可靠传输。网络层:对位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。传输层:定义一些传输数据的协议和端口号,主要是将从下层接收到的数据进行分段和传输,到目的地后再将数据重组,该层数据也称为段。会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路,主要是在系统之间发起会话或接受会话请求。表示层:确保一些.

2020-06-14 16:29:55 366

原创 JS透明度和水平轮播源码

JS透明度轮播<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * {

2020-05-21 22:17:48 168

原创 JS页面块与块碰撞检测源码

JS页面边缘、块与块div :碰撞检测<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style>

2020-05-21 22:14:13 457

原创 JS:BOM的open方法

opener:打开当前窗口的父窗口的window对象,IE不支持该对象opener.document.write("子窗口让我输出的");

2020-05-19 23:18:36 312

原创 JS查找标签节点:秒表实现源码

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>秒表实现</title></head><body> <div id="div1

2020-05-19 23:09:20 82

原创 JS冒泡和选择排序源码

1、冒泡排序:前后两个数两两进行比较,如果符合交换条件,交换位置。直到所有数据排序完成,结束比较。for(var i=0; i<arr.length; i++){ for(var j=0; j<arr.length-i-1; j++){ if(arr[j]>arr[j+1]){ var temp = arr[j+1]; arr[j+1]=arr[j]; arr[j]=temp; } }}2、选择排序:通过比较首先选出最小的数放在第一个位置上,然后在其余

2020-05-15 23:21:41 78

原创 浮动元素的重叠问题

浮动元素不会覆盖文字内容、图片内容(因为图片本身也属于文本,可以把图片看做是一个特殊的文字)、表单元素(输入框、单选按钮、复选框、按钮、下拉选择框等)

2020-05-15 20:06:13 613

原创 gif/jpg/png的区别

1、gif:支持动画、只有全透明和不透明两种模式、只有256种颜色2、jpg:采用有损压缩算法、体积较小、不支持透明、不支持动画3、png:采用无损压缩算法、体积也相对较小、支持背景透明、不支持动画...

2020-05-15 20:00:57 825

转载 8个有意思的JavaScript面试题

https://blog.csdn.net/Fundebug/article/details/97762848

2020-05-11 16:56:15 79

转载 权限控制

转载:https://segmentfault.com/a/11900000126757591、何为权限控制?权限控制大致分为两个维度:1】垂直维度:控制用户可以访问哪些url的权限。2】水平维度:控制用户访问特定url,获取哪些数据的权限(如:普通用户、管理员、超级管理员访问同一url,获取的数据是不同的)。2、Web权限控制方案List1】前后端不分离:以Java为例,后端通过js...

2020-05-11 16:46:15 513 2

原创 八桂自然灾害数据库Web系统设计与实现源码

八桂自然灾害数据库Web系统设计与实现源码(新):https://github.com/huangrong210/NaturalDisasterWeb相关开发软件下载:链接:https://pan.baidu.com/s/18KpWwB_1B7AkyZhTQwrgmw提取码:lahi...

2020-05-03 14:59:33 1036

原创 面试经 提问

当面试官问你想了解公司什么的时候,可以问以下几个问题:1、面试官是中层经理及以下职位:1】如何评估员工在试用期内的表现?考核标准是什么呢?2】公司采取了什么样的方法和措施,来保证(新)员工的成长?3】这个职位在贵公司的发展前景是怎样的?有何种晋升机制?在什么条件下,才能够得到晋升的机会?4】请问您当初选择这家公司的原因是什么?在工作一段时间后,您又是如何评价这家公司的呢?这家公司有什么优...

2019-10-16 22:10:01 249 1

空空如也

空空如也

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

TA关注的人

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