
js
文章平均质量分 58
ggmshm
前端慢慢爬
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
js数组遍历方法总结与对比
数组常用遍历方法和对象遍历。原创 2021-12-01 16:01:04 · 937 阅读 · 1 评论 -
可迭代对象和类数组
快速了解可迭代对象和类数组的区别,深入理解for..of遍历原理原创 2021-12-01 11:44:05 · 717 阅读 · 0 评论 -
js预编译
总结: 1.未经声明的变量归window所有,全局声明的变量为window一个属性 2.三步曲,对比函数预编译仅仅缺少形参实参统一: (1)生成一个GO对象 (Global Object) GO ===window (2)找变量声明,将变量声明名作为GO属性名,值为undefined (3)找函数声明,值赋予函数体,注意不是函数表达式 global = 10...原创 2019-08-07 16:15:21 · 203 阅读 · 1 评论 -
作用域与作用域链
前言: 每一个函数都是一个对象,对象有一些属性仅供javascript引擎存取,[[scope]]就为其中一个隐形属性,我们称为作用域,存储了函数执行期上下文的集合, 总结: 执行期上下文:函数执行时,会创建一个被称为执行期上下文的内部对象(AO),每次执行都为一个独一的AO,执行完毕AO销毁 作用域:[[scope]],存储了函数执行期上下文的集合 作用域链:[[scope]]中存储...原创 2019-08-07 15:40:32 · 105 阅读 · 0 评论 -
js关于函数预编译的研究
前言:js执行过程为分为3步 语法分析:通篇扫描有无语法错误 如中文符号或者缺少大括号 预编译:函数声明整体提升,变量 声明提升 解释执行 总结:函数预编译为4部曲,预编译发生在函数执行的前一刻 1.创建 AO 对象 2.找形参和变量声明,将形参和变量作为AO属性名,值为undefined 3.将实参值和形参统一 4.在函数体里面找函数声明,值赋予函数体 举例解...原创 2019-08-07 11:41:45 · 187 阅读 · 0 评论 -
对象枚举以及判断数组与对象的3种方法
1.属性的表示方法 obj.prop obj.["prop"] 实际内部原理,obj.prop会隐式转换为obj.["prop"] 2.对象枚举方法 for in: prop in obj hasOwnProperty():obg.hasOwnProperty(prop) in:prop in obj instanof:A instanceof B for in:打印自己的属性以及自...原创 2019-08-09 13:06:52 · 491 阅读 · 0 评论 -
js --- 面向对象之原型与原型链
前言: 每个构造函数(constructor)都有一个原型对象(prototype),原型对象都包含一个指向构造函数的指针,而实例(instance)都包含一个指向原型对象的内部指针. 原型定义:Person.prototype 原型是function对象的一个属性,它定义了构造函数产生的对象的公共祖先。 通过构造函数产生的对象,可以继承该原型的属性和方法。 原型也是对象。 利用原型的...原创 2019-08-09 08:52:44 · 144 阅读 · 0 评论 -
js的变量类型判断和类型的转换
Number(mix):mix转换为数字 Number(null)结果为0 parseInt(string):将数字转为整数 parseFloat(string):将数字转为浮点数 toString(radix):转为字符串 undefined和null不能用tostring String(mix):mix转为字符串 Boolean():转为布尔型 隐形类型转换 : isNaN(),++...原创 2021-04-13 19:30:56 · 380 阅读 · 1 评论 -
闭包问题
前言:了解闭包先要了解的知识点 js的作用域:在js中 函数内部可以读取全局变量,函数外部无法读取函数内部的变量。 作用域销毁:只是切断函数与AO的链接,并不是真实销毁AO的存在 总结: 闭包是什么:内部函数被保存到外部时,生成闭包 闭包缺点:闭包会导致原有作用域链不释放,造成内存泄漏 闭包用处: 实现公有变量 ; 实现缓存; 实现封装,属性私有化; 模块化开发,防止污...原创 2019-08-08 13:14:45 · 399 阅读 · 0 评论 -
js----函数之立即执行函数
立即执行函数会被立即执行 总结: 针对初始化功能的函数, 只有表达式才能被执行符号执行 执行后被清除 可以传参,可以有返回值 写法: (function (){}()) //w3c建议 //或者 (function (){})() //带参数 有返回值 var num = (function (a,b){ console.log(a+b) }(123,123)) ...原创 2019-08-08 13:10:29 · 143 阅读 · 0 评论