后台眼中JS
原型、继承、对象、函数、事件
坐等故国扶风起
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
002 - JS基础知识
js中基础知识,只记录一些容易忽视的地方变量变量命名 :倾向于使用以小写字母开头的驼峰大小写变量名区分大小写的,准确说 Js中用标识符 命名 变量 关键字、函数,而Js中标识符是对大小写敏感的。虽然,变量命名时 ,js不鼓励使用$命名,直接用它命名函数很常见var $test = function (){alert('用$可以命名函数')}var $_fun1 ...原创 2019-09-03 20:14:17 · 283 阅读 · 1 评论 -
Javascript 中ajax请求的回调金字塔和Promise
在之前的博文中,我们了解了,Js是一门单线程语言,不过存在一些异步执行的方法,它们会放到callback queue 中,等主线程stack中任务执行完成,再去执行callback queue 。 但是如果需要callback queue中的任务返回的数据怎么办,比如下边的回调金字塔什么是回调金字塔举例说明存在一个需求,比如需要拿到回调中数据,根据数据判断是否显示一个banner图,这就...原创 2019-09-18 17:13:34 · 223 阅读 · 2 评论 -
详细了解Javascript的定时器
定时器的语法,传参,以及用处定时器传参语法第一个参数 :可以是直接执行的代码,但需要放在引号内(js内部会用eval把字符串转成真正代码)可以是function声明的函数,也可以是个函数名setTimeout('console.log("第一个参数为一条代码,要放在引号里面")',500); // 字符串setTimeout(()=>console.log('第一个参...原创 2019-09-18 11:45:23 · 188 阅读 · 0 评论 -
函数节流和防抖
事件 , 鼠标、滚动条等如果操作dom, 需要持续运算,会影响性能,本章主要就是优化性能函数节流不是输入一个,就立刻执行,比如按着一个字母不放不会一直执行利用时间戳 function throttle(fn, wait) { var pre = 0; return function () { var now = new Date(); if (...原创 2019-09-18 14:31:34 · 190 阅读 · 0 评论 -
js中任务队列分类及特点
任务队列 (消息队列)任务队列介绍是一个有序的任务集合列表(放的都是异步任务),在js中任务队列可以有多个当代码里有异步操作的时候,就会把异步操作分发到对应的任务对列里每一个任务都会有任务源一个队列里可以放多个任务,任务的读取方式为先进先出Macro Task 和 Micro Task宏任务微任务DOM操作 (UI rendering)Promise...原创 2019-09-17 20:09:48 · 754 阅读 · 2 评论 -
JavaScript中事件运行机制详解
上边博文中,说了JavaScript 的内存模型。 简单总结如下表格用户接口比如浏览器顶部栏等一些接口––Call StackJavaScript中的方法调用栈,记录方法调用的trace––HeapJavaScrip中的堆结构,主要保存对象,对象的引用保存在Stack中––Web APIs浏览器提供的一系列接口,比如Canva...原创 2019-09-17 20:08:00 · 382 阅读 · 0 评论 -
理解JavaScript的内存模型和事件循环
所有的编程语言都会存在内存生命周期,不同的是 部分语言会暴露出来,比如C。而有些语言是将具体细节进行隐藏,用户只会看到变量定义,赋值,对象的创建,不会关注变量创建的时候,内存如何处理,比如Java和JavaScript 。 接下来, 简单描述一下Js的内存先简单说一下,JavaScript的内存结构JavaScript的内存结构之前的博客,在说Js上下文对象时,简单提到了Javascr...原创 2019-09-17 15:49:19 · 217 阅读 · 0 评论 -
Js中call和apply和bind
js中的call(), apply()和bind()是Function.prototype下的方法,都是用于改变函数运行时上下文,最终的返回值是你调用的方法的返回值改变函数运行时上下文动态改变 "调用函数的this对象” 的指向函数对象 : 利用函数的原型 创建对象function cat(){} cat.prototype = { food :"fish",...原创 2019-09-16 16:19:00 · 397 阅读 · 0 评论 -
008 - 变量的作用域链和闭包
当我们了解函数之后,接下来说一下,和函数有关的变量作用域以及闭包问题执行上下文这一部分 : 参考网上 “深入理解javascript之执行上下文(execution context)” 。该博文对于 执行上下文对象的描述较为详细,不过略显啰嗦,简单整理,突出一下 什么是 执行上下文,在JavaScript引擎中如何设计的,函数调用的时候,上下文对象的创建过程什么是执行上下文调用一...原创 2019-09-11 19:04:08 · 163 阅读 · 0 评论 -
007 - JavaScript高阶函数
在Js中,函数调用是非常轻松的一件事,变量可以存储函数,可以直接用变量加()操作符调用 var d = function(a) { console.log(a) } var e = d; //将函数赋值给一个变量console.log(typeof e); //输出 functione(1); //执行函数 输出 1这和Java是不太一样的,Java如果想调用函数,实际上比Ja...原创 2019-09-08 16:34:19 · 116 阅读 · 0 评论 -
006 - JavaScript函数传参和一些内置函数
对Java有一定使用了解之后,从Java角度看Javascript,其实会有很多类似的地方。身为一门编程语言,前边说了面向对象的Js , 继续说,本章了解一下 Js这门语言是如何处理函数这一块Js中函数函数传参问题函数可以定义多个参数,调用时不传,默认为undifined调用时,传参多了,不会报错,也没有效果 function sum(a, b) { return...原创 2019-09-08 14:42:25 · 340 阅读 · 0 评论 -
005 - Js中继承的实现方式和优化
Js中的继承上边部分简单介绍了下, Js中几个和继承有关的名词,简单整理如下prototypeJs中函数特有一个属性,指向这个函数的原型对象_proto_Js中对象特有的一个属性,指向对象的原型对象constructorJs对象特有的一个属性,指向这个对象的构造函数,每个对象都会有构造函数,只不过函数对象的构造函数是其自身注意 : 和Java不一样的...原创 2019-09-05 21:27:31 · 175 阅读 · 0 评论 -
004 - 深入理解Js中原型链和继承
Js 是 一种 直译式脚本语言 , 执行速度快。同时呢,利用原型链又很巧妙的实现了继承,接下来,简单说一下 Js是如何实现继承的了解Js继承,就先明白 “为什么说 Js是基于原型链的语言”什么是原型链prototype:JavaScript 中的每个函数中都有 prototype 属性, 这是Js中函数的一个属性 (至于函数的其他属性,在函数一节中讲述,这里不多提,只是了解一些此属...原创 2019-09-05 21:22:04 · 178 阅读 · 0 评论 -
003 -面向对象的Js
当熟悉了Java语法,从 java角度去看Js,发现存在很多相似之处,比如 整体上看Js也是一种面向对象的语言,只不过 身为一种解释执行的语言,没有必要做的和Java那么复杂,因此 用了一些的很巧妙的简化从面向对象的角度看Js什么是面向对象面向对象 的语言,只要的特点就是 继承 、 封装 、 多态。这里就不多说了。Js视角看面向对象上边简单说了一下,面向对象语言特点,接下来...原创 2019-09-04 19:17:14 · 212 阅读 · 2 评论 -
001 - BOM和DOM
在开发过程中,写过一些基础的Js逻辑, 结合网上资料,做一个JS有关的专题,非专业前端人员 ,一些不足之处,请指出,大家共同进步,谢谢BOM浏览器对象模型 (Brower Object Model), 主要用来实现Js和浏览器之间的对话, 没有官方标准 (开发中以Chrome为主)window对象非常常用的一个对象 , 代表着浏览器的窗口, 所有的全局变量本质上就是 win...原创 2019-09-04 16:33:15 · 208 阅读 · 0 评论 -
Js应用prototype扩展内建对象
JavaScript 中,内建对象的构造器函数(例如 Array、 String、 Object 和Function)都是可以通过其原型来进行扩展的例子比如扩展Array构造函数,添加一个功能 : 判断数组中是否存在Array.prototype.inArray = function(needle) { for (var i = 0, len = this.length; i &...原创 2019-09-18 17:16:10 · 165 阅读 · 0 评论
分享