
前端三板斧
Gin丶勤
这个作者很懒,什么都没留下…
展开
-
js作用域深层原理
编译原理 编译 在传统编译语言的流程中,程序中的一段源代码在执行之前会经历三个步骤,统称为“编 译”。 分词/词法分析(Tokenizing/Lexing) 这个过程会将由字符组成的字符串分解成(对编程语言来说)有意义的代码块,这些代 码块被称为词法单元(token)。例如,考虑程序var a = 2;。这段程序通常会被分解成 为下面这些词法单元:var、a、=、2 、;。空格是否会被当作词法...原创 2020-04-22 16:15:09 · 272 阅读 · 0 评论 -
008-js对象访问器-setter与getter
js对象访问器是指ECMAScript 5 (2009) 引入的 Getter 和 Setter。 Getter 和 Setter 允许您定义对象访问器(被计算的属性)。 js对象访问器的优点 它提供了更简洁的语法 它允许属性和方法的语法相同 它可以确保更好的数据质量 有利于后台工作 Object.defineProperty() 访问器属性不能直接定义,必须使用Object.definePr...转载 2020-04-20 17:09:13 · 199 阅读 · 0 评论 -
007-js数组迭代方法大集合
Array.reduce() reduce() 方法在每个数组元素上运行函数,使每个数组元素与上次返回的值进行某样操作。 reduce() 方法在数组中从左到右工作。另请参见 reduceRight()。 reduce() 方法不会减少原始数组。 请注意此函数接受 4 个参数: 总数(初始值/先前返回的值) 项目值 项目索引 数组本身 JavaScript A...转载 2020-04-20 17:08:07 · 217 阅读 · 0 评论 -
006-js性能优化
减少循环中的活动 循环每迭代一次,循环中的每条语句,包括 for 语句,都会被执行。 能够放在循环之外的语句或赋值会使循环运行得更快。 差的代码: var i; for (i = 0; i < arr.length; i++) { 更好的代码: var i; var l = arr.length; for (i = 0; i < l; i++) { 循环每次迭代时,坏代码就会访问数...转载 2020-04-20 17:07:04 · 216 阅读 · 0 评论 -
005-debugger 关键词与let、const补充
debugger 关键词 debugger 关键词会停止 JavaScript 的执行,并调用(如果有)调试函数。 这与在调试器中设置断点的功能是一样的。 如果调试器不可用,debugger 语句没有效果。 如果调试器已打开,此代码会在执行第三行之前停止运行。 <!DOCTYPE html> <html> <head> </head> <bo...转载 2020-04-20 17:05:51 · 155 阅读 · 0 评论 -
004-js严格模式
声明位置 只能在脚本或者script标签的开头或者在函数的开头 添加"use strict"; 来声明严格模式。 在脚本开头进行声明,拥有全局作用域(脚本中的所有代码均以严格模式来执行)。 在函数中声明严格模式,拥有局部作用域(只有函数中的代码以严格模式执行)。 "use strict"; x = 3.14; // 这会引发错误,因为 x 尚未声明 "use strict"; myF...转载 2020-04-20 17:04:46 · 161 阅读 · 0 评论 -
003-js异常
try 语句使您能够测试代码块中的错误。 catch 语句允许您处理错误。 throw 语句允许您创建自定义错误。 finally 使您能够执行代码,在 try 和 catch 之后,无论结果如何。 案例1 <p id="demo"></p> <script> try { adddlert("欢迎访问!"); } catch(err) { do...转载 2020-04-20 17:03:17 · 323 阅读 · 0 评论 -
002-js正则表达式
js正则表达式 在 JavaScript 中,正则表达式常用于两个字符串方法:search() 和 replace()。 search() 方法使用表达式来搜索匹配,然后返回匹配的位置。 replace() 方法返回模式被替换处修改后的字符串。 search()方法 search() 方法也接受字符串作为搜索参数。找到则返回其索引,否则返回-1。 字符串参数将被转换为正则表达式,如 var str...转载 2020-04-20 17:01:42 · 180 阅读 · 0 评论