JavaScript
文章平均质量分 58
lalalalala~
前端菜鸟一个
展开
-
JavaScript 核心之一 —— BOM
window 对象BOM 的核心对象是 window,它表示浏览器的一个实例。由于 window 对象同时扮演着 ECMAScript 中 Global 对象的角色,因此所有在全局作用域中声明的变量、函数都会变成 window 对象的属性和方法。如果页面中包含框架,则每个框架都拥有自己的 window 对象,并且保存在 frames 集合中。在 frames 集合中,可以通过数值索引(从 0...原创 2018-10-23 10:43:20 · 202 阅读 · 0 评论 -
常用排序方法 —— JavaScript 实现
一、冒泡排序 function bubbleSort(arr) { var len = arr.length; var temp; for (var i = 0; i < len; i++) { for (var j = 0; j < len - 1 - i; j++) { if (arr[j] > ar...原创 2018-10-26 16:46:09 · 195 阅读 · 0 评论 -
javascript 继承&原型链
原型对象 prototype每个函数都有一个 prototype 属性,这个属性是一个指针,指向函数的原型对象。原型对象有一个属性 constructor ,这个属性包含一个指向 prototype 属性所在的函数(构造函数)的指针当调用构造函数创建一个实例,这个实例内部将包含一个指针,指向构造函数的原型对象。当为对象实例添加一个属性时,这个属性就会屏蔽原型对象中保存的同名属性,但不会...原创 2018-10-26 17:11:23 · 159 阅读 · 0 评论 -
深拷贝 && 浅拷贝
待续。。。原创 2018-10-26 18:03:01 · 142 阅读 · 0 评论 -
浏览器渲染流程
网页生成的过程HTML 代码转化成 DOMCSS 代码转化成 CSSOM(CSS Object Model)结合 DOM 和 CSSOM ,生成一颗渲染树(包含每个节点的视觉信息)生成布局(layout),即将渲染树的所有节点进行平面合成将布局绘制(paint)在屏幕上回流和重绘回流(reflow):某个部分变化影响了布局,需要重新渲染重绘(repaint):改变某个元素的背...原创 2018-10-24 12:52:25 · 258 阅读 · 0 评论 -
JavaScript 运行机制:Event Loop
JavaScript 是单线程语言。单线程就意味着需要排队,前一个任务完成才能执行下一个任务。所以任务分为两种,同步任务和异步任务。同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行下一个任务。异步任务指的是不进入主线程,而进入“任务队列”的任务,只有任务队列通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行。不同的任务源会被分配到不同的 Task 队列...原创 2018-10-24 18:26:11 · 177 阅读 · 0 评论 -
JavaScript 数组常用方法
有一天被问到了一个题,感觉很有意思,如下: new Array(6) new Array(6, 6)//上诉两行代码,分别创建了什么?检测数组 var arr = []; arr instanceof Array Array.isArray(arr)转换方法toString() 返回以逗号分隔的数组中的值组成的字符串valueOf() 返回数组对象的原始值...原创 2018-10-27 16:47:37 · 120 阅读 · 0 评论 -
JavaScript 字符串常用方法
字符方法charAt()charCodeAt() var stringValue = "hello world"; alert(stringValue.charAt(1)); //"e alert(stringValue.charCodeAt(1)); //输出"101"字符串操作方法concat() 拼接多个字符串,返回新的字符串;(+)更好用s...原创 2018-11-01 10:56:18 · 230 阅读 · 0 评论 -
JavaScript 防抖 && 节流
函数防抖和节流都是为了防止一个函数被无意义的高频率调用。多次触发事件,防抖只会执行最后一次;节流会隔一段时间执行一次。防抖防抖是指,某些代码不可以在没有间隔的情况下连续执行。第一次调用函数,创建一个定时器,在指定的时间间隔之后运行代码。当第二次调用函数是,清除前一个定时器并设置另外一个。如果前一个定时器已经执行,那么这个操作就没有什么意义。然而,如果前一个定时器尚未执行,那就是将其替换成一...原创 2018-11-01 11:30:21 · 161 阅读 · 0 评论 -
HTML 的 attribute 和 JS 的 property 的异同详解
同样是获得 element 的 style 属性,有两种方式 el.style 和 el.getAttribute(‘style’) 。前者我们叫 style 是 el 的 property ,后者我们叫style 是 el 的 attribute。attributeattribute 是HTML DOM 对象自带(特有)的属性,在 html 中显式的设置,例如 id,class ,value...原创 2018-10-26 14:25:22 · 1139 阅读 · 0 评论 -
call() 和 apply() 的作用与区别
call() 和 apply()简单来说,call() 和 apply() 的作用就是改变 this 的指向,区别就是传参列表不同。猫吃鱼,狗吃肉,奥特曼打小怪兽有一天,狗想吃鱼了猫.吃鱼.call(狗,鱼)狗就吃到鱼了猫成精了,想打怪兽奥特曼.打怪兽.call(猫,小怪兽)objA.call(objB, arg1, arg2, ...)objA.apply(objB, [ar...原创 2018-10-23 15:57:45 · 569 阅读 · 0 评论 -
JavaScript 闭包理解
js闭包涉及原理js链式结构垃圾回收机制一、变量作用域全局变量局部变量函数内部可以直接读取全局变量,函数外部无法读取函数内部的局部变量二、从函数外部读取局部变量解决方法:在函数内部在定义一个函数function f1() { var n = 1; function f2() { alert(n); }}在上诉代码中,函数 f...原创 2018-10-20 15:58:53 · 2196 阅读 · 5 评论 -
JavaScript 对象&设计模式
js 对象&设计模式对象概念无序属性的集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都映射 到一个值。正因为这样,我们可以把对象想象成散列表: 无非就是一组名值对,其中值可以是数据或函数。对象的属性数据属性:[[Configurable]]:表示能否通过 delete 删除属...原创 2018-10-20 15:18:52 · 212 阅读 · 0 评论 -
JavaScript 数据类型
js 数据类型&操作符5种基本数据类型 & 引用数据类型undefined null boolean number string & objecttypeof 操作符,不是函数undefined —— 值未定义boolean —— 布尔值string —— 字符串object —— 对象或者nullnumber —— 数值function —— 函数原创 2018-10-20 15:55:02 · 189 阅读 · 0 评论 -
javascript 垃圾回收机制
javascript垃圾回收机制一、概念和C#、Java一样JavaScript有自动垃圾回收机制,也就是说执行环境会负责管理代码执行过程中使用的内存,在开发过程中就无需考虑内存分配及无用内存的回收问题了。JavaScript垃圾回收的机制很简单:找出不再使用的变量,然后释放掉其占用的内存,但是这个过程不是时时的,因为其开销比较大,所以垃圾回收器会按照固定的时间间隔周期性的执行。二、变量生...原创 2018-10-20 15:51:55 · 527 阅读 · 0 评论 -
JavaScript 执行环境 & 作用域
js 执行环境& 作用域执行环境执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为。每个执行环境都有一个对应的变量对象,环境中定义的所有变量和函数都保存在这个对象中,虽然我们编写的代码无法访问这个对象,但是解析器在处理数据时会用到。全局执行环境是最外围的一个执行环境,通常为 window 对象。某个执行环境中的所有代码执行完毕之后,该环境被销毁,保存在其中的变量和函数...原创 2018-10-20 15:57:30 · 1073 阅读 · 0 评论 -
JavaScript 事件流
事件流描述的是从页面中接收事件的顺序。事件冒泡事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传递到较为不具体的节点。以下面的 HTML 页面为例: <!DOCTYPE html> <html> <head> <title>Event Bubblin原创 2018-10-23 14:35:54 · 522 阅读 · 0 评论 -
聊下 ajax 请求
Ajax 是无需刷新页面就能够从服务器取得数据的一种方法。//1. 创建 xhr 对象var xhr;if (window.XMLHttpRequest) { xhr = new XMLHttpRequest();} else { xhr = new ActiveXObject('Microsoft.XMLHTTP')}// 状态发生变化时,函数会回调 xhr.onreadyst...原创 2018-10-23 15:34:44 · 110 阅读 · 0 评论 -
http 常用请求方法(GET、POST、PUT、DELETE)
GETGET 请求是最常见的请求类型,最常用于向服务器查询某些信息。必要时,可以将查询字符串参数追加到 URL 末尾,以便将信息发送给服务器。对于 XHR 而言,传入 open() 方法的 URL 末尾的查询字符串必须使用encodeURIComponent() 进行编码。POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。POST请求可能会导致新的资源的建立和/或已有...原创 2018-11-26 16:27:34 · 4606 阅读 · 0 评论