- 博客(20)
- 收藏
- 关注
原创 浏览器加载
浏览器加载1、时间线(总结)当执行问件时,会先形成DOM树当遇到link、img、带有defer和async的script标签时,会创建新的线程去执行,其中img在主线程解析标签,在异步线程解析图片当遇到不带有defer、async的script标签时,线程会阻塞,知道js解析完成后,再执行下面的文件(这就是script标签放在文档下面执行的原因)当dom树形成后会触发DomContentLoad事件当异步线程的事件执行完后,会触发Load事件2、浏览器的加载过程执行顺序是:主队列、微
2021-04-17 14:03:55
197
原创 解决跨域的方式
跨域对于跨域,我们学前端的再熟悉不过了,那么如何解决跨域问题呢,接下来有几个方法域之间进行相互资源请求;跨域是什么1、进行不同的域名下的资源调用。例如:localhost:12306/index.html请求localhost:3000/index.html请求为什么出现跨域1、浏览器在解析JavaScript出于安全方面的考虑,只允许在同域名下页面进行相互资源请求调用,不允许调用其他域名下的页面的对象;简单的理解就是因为JavaScript同源策略的限制。什么是同源呢浏览器同源策略:
2021-04-11 23:35:56
149
原创 js异步加载
js异步加载的三种方案默认情况javascript是同步加载的,如果javascript加载时阻塞,后面的元素就需要等待javascript加载完毕后才能进行再加载,当遇到这个问题时怎么解决呢,接下来介绍三种方法来解决此类问题。(1)defer属性defer 属性规定是否对脚本执行进行延迟,直到页面加载为止。defer是一种属性,他的属性值就只有defer一个但是defer属性添加得分情况而定1、有的js代码会直接改变文档的内如(例如:document.write)2、不会改变文档内如的则可
2021-04-05 18:12:34
175
原创 前后端交互(url输入地址栏后的过程+get和post的区别)
输入地址栏后经历的过程1、当地址输入ul地址栏时经历的过程浏览器根据 DNS 服务器解析得到域名的 IP 地址向这个 IP 的机器发送 HTTP 请求服务器收到、处理并返回 HTTP 请求浏览器得到返回内容浏览器对其进行渲染渲染过程根据 HTML 结构生成 DOM 树根据 CSS 生成 CSSOM将 DOM 和 CSSOM 整合形成 RenderTree根据 RenderTree 开始渲染和展示遇到script标签时,会执行并阻塞渲染2、url地址是谁来写的呢在开发中,ur
2021-03-28 20:43:28
2068
原创 深拷贝与浅拷贝
深拷贝与浅拷贝的区别一、数据类型数据类型分为两大类,基本数据类型和应用数据类型1、基本数据类型有:string number boolean null undefined2、应用数据类型有:object array数据类型分成两大类的原因基本数据类型里面的值直接存在栈中引用数据类型是地址存在栈中,但是数据存在堆中应用数据类型的存储特点如下:浅拷贝的实现var obj = { "name": "zs", "age": 18}var obj1 = objobj1.na
2021-03-21 15:50:10
79
原创 闭包函数的特点来由
一、预编译(1) js的执行顺序是从上往下依次执行(主线程),到遇到异步时另开一个空间(2.1) 产生GO对象运行script标签中的代码,运行前的一瞬间产生,产生GO对象var声明的变量名作为对象的属性名,属性值为undefined函数声明作为GO对象的属性名,值为函数体,如果GO对象有相同的属性名,直接覆盖(2.2)产生AO对象预编译指的是 函数在运行前的一瞬间会产生AO对象函数的形参会作为AO对象的属性名,实参作为AO对象的属性值var声明作为AO对象的属性名,值为un
2021-03-20 14:34:44
169
原创 js构造函数的创建和作用
构造函数的创建一、object对象object对象创建的三种方式1、利用字面量创建var obj={}2、利用new Object创建var obj=new object()2、通过构造函数创建function Object(){}var obj=new Object()注意:构造函数的方式是 function 构造函数名(){ this.属性=值; this.方法=function(){ }
2021-01-11 19:07:25
1184
原创 简单方法实现数组去重+放大镜
数组去重1、运用到.indexof方法2、创建新数组,将筛选出来的数组添加到新数组中可用.push()方法 <script> var arr=['a','b','b','c'] var newArr=[] for(i=0;i<arr.length;i++){ if(newArr.indexOf(arr[i])==-1){ newArr.push(arr[i])
2020-12-14 20:23:51
164
1
原创 js之dom
1、什么是domDOM是文档对象模型(Document Object Model)的缩写。 是 W3C(万维网联盟)的标准。是一种用于HTML和XML文档的编程接口。它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式。HTML DOM 节点在 HTML DOM 中,所有事物都是节点。DOM 是被视为节点树的 HTML。通过 HTML DOM,树中的所有节点均可通过 JavaScript 进行访问。所有 HTML 元素(节点)均可被修改,也可以创建或删除节点。查找元素的方法通过
2020-12-12 14:56:35
100
原创 string伪数组中常用的实例方法
string中的实例方法length: 字符串长度 只能读取不能修改charAt 方法从一个字符串中返回指定的字符。语法:str.charAt(index)index一个介于0 和字符串长度减1之间的整数。 (0~length-1)如果没有提供索引,charAt() 将使用0。var anyString = "Brave new world";console.log("The character at index 0 is '" + anyString.charAt(0)
2020-12-05 13:49:10
145
原创 js运行步骤+变量声明
js运行步骤语法分析预编译函数的预编译 发生在:函数执行的前一刻预编译的步骤执行期上下文 Activation Object(AO、作用域) 理解: fnAo {}找形参和变量声明,将形参和变量作为AO对象属性名,值设置为undefined,如果有重名覆盖而不新增将实参和形参统一在函数中找函数声明(函数直接量),将函数名做为AO对象的属性名,函数体做为该属性的属性值,如果有重名覆盖而不新增<script> function fn(a
2020-12-05 11:02:59
142
原创 js中this关键字的用法+函数的构造方法
this关键字注意:this无法赋值1、在全局作用域中,this关键字固定指向全局对象2. 在函数作用域中,取决于函数是如何被调用的函数直接调用(通过window调用),this指向全局对象通过一个对象的属性调用,格式对象.属性名()或 对象['属 性'](),this指向该对象<script> var name = '23' var obj={ name:'20', fn: function(){
2020-11-29 16:56:19
330
原创 js中容易出错的问题
判断数据类型1、运用typeof()函数typeof()返回类型如下1、number型 console.log(typeof(NaN)); // “number”2、string型 var a = “123abc”; console.log(typeof(a + “”))//“string”3、boolean型 console.log(typeof(!!a)); //boolean** boolean型 在判断语句中(任何表达式的返回结果都是boolean型)4、undefined型 co
2020-11-29 16:08:08
218
原创 js的发展史+常用浏览器
js的发展史JavaScript与Java的关系 JavaScript的基础语法和对象体系,是模仿Java而设计的。 JavaScript语言的函数是一种独立的数据类型以及基于原型对象的继承链,是与java语法最大的两点区别。JavaScript不需要编译,由解释器直接执行。JavaScript与ECMA的关系 1996年,微软模仿JavaScript开发了一门相近的语言JScript,内置于IE3.0,Netscape公司面临丧失浏览器脚本语言的主导权局面。胳膊拗不过大腿,Net
2020-11-22 19:23:33
188
原创 菜鸟教程:Js数据类型
js简介一、动态类型JavaScript 是一种弱类型或者说动态语言。这意味着你不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。这也意味着你可以使用同一个变量保存不同类型的数据:var a = 42; // a is a Number nowa = "bae"; // a is a String nowa = true; // a is a Boolean now二、数据类型number型字符串型null型Null 类型只有一个值: null,更多详情可查看
2020-11-22 19:08:47
185
原创 菜鸟教程:HTML中清除浮动+盒子的分类+语义化
消除浮动的方法一、在父元素中加 overflow:hidden不能与position配合使用.father{ overflow:hidden}二、设置j具体宽高只适合高度固定的固定的布局,给出精确的布局,如果高度和父级的高度不一样,也会产生问题.children{ float:left; width:800px; height:100px}三、clear清楚浮动虽然代码多 但是这种方法清
2020-11-15 11:29:32
406
原创 HTML中隐藏元素的方式+固定定位居中的方式
##HTML隐藏元素的方式##一、displaydisplay:none最常用隐藏元素的方法dislay:none 隐藏元素后,会使元素在页面上消失,元素本该占有的空间会被其他元素占有。下面是display:none 在二级菜单中的用法<ul> <li class="serverse"><a href="">客户服务</a> <div class="
2020-11-14 21:22:11
250
原创 HTML中重要的盒子模型
div盒子一、盒子的组成1、div盒子是由内边距+边框+外边距(不能只是觉得盒子就是边框围起来的 ,这是一个误区)2、div盒子的简易模型(如图) <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> &l
2020-11-08 14:18:56
194
原创 html中样式层叠的解决方法
Html选择器一、选择器的分类1、id选择器注意id选择器在样式表中的用法 :#id属性值{ }id是唯一的,一般js中用id比较多,但对于html初学者可以先用着,但是主要用类选择器<html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <ti
2020-11-05 20:30:55
1185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人