当前位置:网站首页 > Vue.js开发 > 正文

stompJS详解(strncpy详解)



目录

JavaScript 进阶 - 第4天

深浅拷贝

浅拷贝

深拷贝

递归实现深拷贝

js库lodash里面cloneDeep内部实现了深拷贝

JSON序列化

异常处理

throw

try ... catch

debugger

处理this

普通函数

箭头函数

改变this指向

call

apply

bind

防抖节流


浅拷贝

首先浅拷贝和深拷贝只针对引用类型

浅拷贝:拷贝的是地址

常见方法:

  1. 拷贝对象:Object.assgin() / 展开运算符 {...obj} 拷贝对象
  2. 拷贝数组:Array.prototype.concat() 或者 [...arr]

如果是简单数据类型拷贝值,引用数据类型拷贝的是地址 (简单理解: 如果是单层对象,没问题,如果有多层就有问题)

深拷贝

首先浅拷贝和深拷贝只针对引用类型

深拷贝:拷贝的是对象,不是地址

常见方法:

  1. 通过递归实现深拷贝
  2. lodash/cloneDeep
  3. 通过JSON.stringify()实现
递归实现深拷贝

函数递归:

如果一个函数在内部可以调用其本身,那么这个函数就是递归函数

  • 简单理解:函数内部自己调用自己, 这个函数就是递归函数
  • 递归函数的作用和循环效果类似
  • 由于递归很容易发生“栈溢出”错误(stack overflow),所以必须要加退出条件 return
 
   
js库lodash里面cloneDeep内部实现了深拷贝
 
   
JSON序列化
 
   

了解 JavaScript 中程序异常处理的方法,提升代码运行的健壮性。

throw

异常处理是指预估代码执行过程中可能发生的错误,然后最大程度的避免错误的发生导致整个程序无法继续运行

总结:

  1. throw 抛出异常信息,程序也会终止执行
  2. throw 后面跟的是错误提示信息
  3. Error 对象配合 throw 使用,能够设置更详细的错误信息
 
   

总结:

  1. 抛出异常信息,程序也会终止执行
  2. 后面跟的是错误提示信息
  3. 对象配合 使用,能够设置更详细的错误信息

try ... catch

 
   

总结:

  1. 用于捕获错误信息
  2. 将预估可能发生错误的代码写在 代码段中
  3. 如果 代码段中出现错误后,会执行 代码段,并截获到错误信息

debugger

相当于断点调试

了解函数中 this 在不同场景下的默认值,知道动态指定函数 this 值的方法。

是 JavaScript 最具“魅惑”的知识点,不同的应用场合 的取值可能会有意想不到的结果,在此我们对以往学习过的关于【 默认的取值】情况进行归纳和总结。

普通函数

普通函数的调用方式决定了 的值,即【谁调用 的值指向谁】,如下代码所示:

 
   

注: 普通函数没有明确调用者时 值为 ,严格模式下没有调用者时 的值为 。

箭头函数

箭头函数中的 与普通函数完全不同,也不受调用方式的影响,事实上箭头函数中并不存在 !箭头函数中访问的 不过是箭头函数所在作用域的 变量。

 
   

在开发中【使用箭头函数前需要考虑函数中 的值】,事件回调函数使用箭头函数时, 为全局的 ,因此DOM事件回调函数不推荐使用箭头函数,如下代码所示:

 
   

同样由于箭头函数 的原因,基于原型的面向对象也不推荐采用箭头函数,如下代码所示:

 
   

改变this指向

以上归纳了普通函数和箭头函数中关于 默认值的情形,不仅如此 JavaScript 中还允许指定函数中 的指向,有 3 个方法可以动态指定普通函数中 的指向:

call

使用 方法调用函数,同时指定函数中 的值,使用方法如下代码所示:

 
   

总结:

  1. 方法能够在调用函数的同时指定 的值
  2. 使用 方法调用函数时,第1个参数为 指定的值
  3. 方法的其余参数会依次自动传入函数做为函数的参数
apply

使用 方法调用函数,同时指定函数中 的值,使用方法如下代码所示:

 
   

总结:

  1. 方法能够在调用函数的同时指定 的值
  2. 使用 方法调用函数时,第1个参数为 指定的值
  3. 方法第2个参数为数组,数组的单元值依次自动传入函数做为函数的参数
bind

方法并不会调用函数,而是创建一个指定了 值的新函数,使用方法如下代码所示:

 
   

注: 方法创建新的函数,与原函数的唯一的变化是改变了 的值。

  1. 防抖(debounce)所谓防抖,就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间
 
   
  1. 节流(throttle)所谓节流,就是指连续触发事件但是在 n 秒中只执行一次函数
 
   

到此这篇stompJS详解(strncpy详解)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • ubuntu 源设置(ubuntu18.04设置源)2026-02-18 09:36:05
  • vue的路由守卫有什么应用场景(vue的路由守卫有哪些钩子函数)2026-02-18 09:36:05
  • pcie5.0和pcie4.0区别电源(pcie4.0b550)2026-02-18 09:36:05
  • js中的深拷贝和浅拷贝(js深拷贝和浅拷贝的方法)2026-02-18 09:36:05
  • Ubuntu源码安装cmake(ubuntu20.04安装cmake)2026-02-18 09:36:05
  • pcie4.0能插pcie3.0么(pcie4.0能插pcie3.0么 nvme)2026-02-18 09:36:05
  • nvme接口是什么样子(nvme2.0接口)2026-02-18 09:36:05
  • ad20安装及破解教程夸克(ad17.1.5破解版安装教程)2026-02-18 09:36:05
  • ubuntu12.04换源(Ubuntu12.04换源)2026-02-18 09:36:05
  • pcie5.0有什么用(pci-e 5.0)2026-02-18 09:36:05
  • 全屏图片