![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES5
勤奋小学童
这个作者很懒,什么都没留下…
展开
-
ES5 基本语法变量篇的注意点
ES5 基本语法变量篇的注意点JavaScript的基本语法变量变量概念如果只是声明变量而没有赋值,则该变量的值是undefined。var a;console.log(a) // undefined如果变量赋值的时候,忘了写var命令,这条语句也是有效的,但是这里创建的是全局变量。这种方式虽然可以,但是不利于理解和代码管理function test () { a...原创 2019-01-07 22:46:18 · 367 阅读 · 0 评论 -
事件流,事件代理
事件冒泡、事件捕获和事件委托事件流 JavaScript与HTML之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用侦听器来预订事件,以便事件发生时执行相应的代码。 事件流的起源:就是在浏览器发展到第四代的时候,浏览器开发团队遇到一个问题:页面的哪一部分会拥有某个特定的事件?要明白这个问题问的是什么,可以想象画在一张纸上的一组同心圆。如果你把手...转载 2019-03-01 13:05:05 · 290 阅读 · 0 评论 -
函数基础部分和立即执行函数
函数基本的函数写法/*function 命令 函数声明*/function test () { ... }/*函数表达式*/var test = function() { ... }匿名函数表达式var test1 = function test() { }console.log(test1.name)/*构造函数*/var Pe...原创 2019-02-23 22:11:53 · 205 阅读 · 0 评论 -
闭包
闭包闭包是由函数以及创建该函数的词法环境组合而成。这个环境包含了这个闭包创建时所能访问的所有局部变量参考链接前文了解了,预编译的过程,了解了作用域和作用域链。都为闭包准备的基础当内部函数被返回到外部并保存时一定会产生闭包,闭包会产生原来的作用域链不释放,过渡的闭包可能会导致内存的泄露,或加载过慢。通过作用域链的图解分析来说明不释放问题function test1() { fu...原创 2019-02-23 19:46:09 · 200 阅读 · 0 评论 -
作用域和作用域链[[scope]]
作用域前面的文章讲解了预编译的过程。就为作用域做了铺垫js中的作用域 全局的GO, 函数的作用域AO。ES6 中的块级作用域。函数也是一中对象,引用类型。fun.name fun.length fun.prototype对象 -> 有些属性是我们无法访问的,JS引擎内部固有的隐式属性[[scope]]:函数创建时,生成的一个js内部隐式属性;函数存储作用域链的容器。AO...原创 2019-02-23 13:28:09 · 427 阅读 · 0 评论 -
JS 预编译过程的理解
JS中存在变量提升的现象。这个现象的产生是和JS本身的预编译顺序相关联的。之前的文章在变量部分提到过变量的提升,随着理解的深入,这里详细总结下预编译的过程1、 检查通篇的语法错误;1.5、预编译的过程; 函数声明整体提升;变量只有声明提升,赋值不会提升; (1) 在执行之前的过程是预编译 (2) 先产生全局域GO,全局域按照GO的执行顺序进行 (3...原创 2019-02-15 13:43:16 · 203 阅读 · 0 评论 -
ES5数据类型的转换
数据类型的转换强制转换数据类型Number() 将任意类型的值转化成数值原始类型值// 数值:转换后还是原来的值Number(324) // 324// 字符串:如果可以被解析为数值,则转换为相应的数值Number('324') // 324// 字符串:如果不可以被解析为数值,返回 NaNNumber('324abc') // NaN// 空字符串转为0Number...原创 2019-01-07 22:56:23 · 505 阅读 · 0 评论 -
ES5 Array
数组数组定义数组是个对象,创建后在堆中分配内存数组是有序的。下标从0开始 任何类型的数据,都可以放到数组数组的本质数组属于一种特殊的对象。typeof 返回的数组类型是 objecttypeof [1,2,3] // "object"数组的特殊性体现在,它的键名是按次序排列的一组整数var array = ['a', 'b', 'c']Object.ke...原创 2019-01-07 22:54:54 · 927 阅读 · 0 评论 -
ES5函数
函数声明function 声明function name (s) {}name(s)函数表达式var name = function (s) {};name(s)构造函数function myFun (arg1,arg2) { this.a = arg1 this.b = arg2}var f = new myFun('aa', 'bb')f(...原创 2019-01-07 22:53:00 · 594 阅读 · 0 评论 -
ES5基本数据类型
数据类型数据类型数量类型概述数据类型实例/分类数值整数、小数/基本数据类型字符串文本/基本数据类型布尔true、false/ 基本数据类型undefined未定义、不存在/ 特殊值null空值 /特殊值对象狭义(object)、数组、函数typeof 运算符typeof instanceof 运算符Object.pr...原创 2019-01-07 22:51:34 · 1148 阅读 · 0 评论 -
js中的事件委托或是事件代理详解
原文链接https://www.cnblogs.com/liugang-vip/p/5616484.html概述:那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。那这是什么意思呢?网上的各位大牛们讲事件委托基本上都用了同一个例子,就是取快递来解释这个现象,我仔细揣摩了一下,...转载 2019-03-01 13:16:34 · 203 阅读 · 0 评论