javascript
文章平均质量分 71
destinytaoer
前端初学者,分享前端知识笔记和好的文章,与大家共同学习
展开
-
javascript 面向对象编程
引自:阮一峰的博客Javascript面向对象编程(一):封装Javascript面向对象编程(二):构造函数的继承Javascript面向对象编程(三):非构造函数的继承JavaScript 对象封装一、构造函数 function Cat(name,color){ this.name = name; this.color = color;原创 2017-10-31 09:51:52 · 259 阅读 · 0 评论 -
JS 函数的创建和执行机制
1. 普通函数的创建执行机制函数作为引用类型,也是按照引用地址来操作的。【创建函数】首先开辟一个新的堆内存,把函数体中的代码当作字符串存储在内存中(对象存储的是键值对)在当前上下文中声明函数(变量),函数声明和定义会提升到最前面把开辟的堆内存地址赋值给函数名(变量名)此时输出函数名 fn(不是 fn()),代表当前函数本身,如果我们要执行函数,就要加上小括号即 fn()。这是两种不...原创 2018-09-27 09:53:12 · 1405 阅读 · 0 评论 -
JS 函数
在 JS 中,函数就是一个方法,一般都是为了实现某个功能。1. 函数的作用和创建var total = 10;total += 10;total = total/2;total = total.toFixed(2); //=> 保留小数点后面两位,toFixed 时候数字包装对象的方法,用来保留小数点后面的位数在后续的代码中,依然想实现相同的操作,就需要重新编写代码。这样的方式...原创 2018-09-26 09:02:36 · 132 阅读 · 0 评论 -
JS 变量提升
1. 变量提升的概念变量提升的概念: 当栈内存(作用域)形成,JS 代码自上而下执行之前,浏览器首先会把所有带 var / function 关键字开头的进行提前声明或者定义,这种预先处理机制称为“变量提升”。 声明(declare):var a (默认 undefined) 定义(defined):a = 12(定义其实就是赋值操作)变量提升阶段: - 带 var ...原创 2018-08-20 19:34:53 · 677 阅读 · 0 评论 -
JS 作用域和作用域链
1. 作用域作用域就是代码的执行环境,全局执行环境就是全局作用域,函数的执行环境就是私有作用域,它们都是栈内存。执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为。每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。虽然我们编写的代码无法访问这个对象,但解析器在处理数据时会在后台使用它。全局执行环境是最外围的一个执行环境。根据 ECMAS...原创 2018-08-27 16:23:33 · 8176 阅读 · 0 评论 -
JS 堆栈内存
堆栈内存的作用JS 中的内存堆内存和栈内存,所有堆栈内存的处理,浏览器会自行在内部执行栈内存: - 提供一个供 JS 代码自上而下执行的环境(作用域,代码都是在栈内存中执行的) - 由于基本类型比较简单,它们都是直接在栈内存中开辟一个位置,直接把值存储进去的堆内存:引用值对应的空间 存储引用类型的(对象:键值对,函数:代码字符串)堆内存的释放让所有引用堆内存空间地址的...原创 2018-08-23 11:01:53 · 438 阅读 · 0 评论 -
DOM的映射机制
前言这在我们平常操作 DOM 的时候司空见惯。就比如:我通过获取一个元素来改变其样式,自然而然的反映到 HTML 页面中。但是,我们操作 JS 对象的时候,本质上操作的是 JS 堆内存,为什么会反映到页面中呢?就是因为浏览器存在这个 DOM 的映射机制。1. 什么是 DOM 的映射机制?我们使用 JS 从页面获取到的元素对象,或者自己手动创建的已经插入页面的元素对象,与页面中的...原创 2018-08-12 22:52:30 · 682 阅读 · 0 评论 -
JS类型转换总结
前言JS 令人头疼的一点就是它属于弱类型语言,一个变量存储的值可以是字符串、数值、布尔值或者对象等,可以随时变更。获取一个变量,你不会知道其存储的值是什么类型的,所以很多时候都需要进行类型检测。除了手动变更类型之外,有些情况下,JS 内部也会自动进行类型转换,以满足部分操作符以及语句等的执行。下面就是我对 JS 类型转换的一些总结,其中大部分来自《JavaScript 高级程序设计》这...原创 2018-08-06 17:00:37 · 162 阅读 · 0 评论 -
JS变量的创建机制
前言JS 怎么创建变量?相信大家都会:var a;function b(){}那么它们具体存储在哪里,又是怎么运行的呢?这次,就聊一聊 JS 的堆栈内存和变量的创建机制。(这里只介绍 ES5 的机制)1. 堆栈内存在了解变量创建机制之前,先来了解一下变量的存储空间。存储空间分为栈内存和堆内存。栈内存:作用域 - 提供一个供 JS 代码自上而下执行的环境(...原创 2018-08-06 16:59:47 · 590 阅读 · 1 评论 -
JS 中扯不完的分号问题
前言无论哪个团队,代码风格统一的争论是一个无解的话题,每次争论起来,各有各理,或执着或偏激或丧心病狂拍桌愤然离去 :)如果团队强制性用了一种代码风格后,符合自己心中标准的同学,欣然乐嘻嘻;不符合的可能会心中『圈养』草泥马暗然敲码;最厉害的情况是,自己之前写的代码在团队流程工具统一编译代码的时候被暗中格式化了,此时心中就不再是一圈草泥马了,至少是一个动物公园。我们之所以为代码风格统一争论,因为...转载 2019-02-28 10:06:55 · 307 阅读 · 0 评论