首页 > 编程语言 >你不知道的JavaScript(中卷)

你不知道的JavaScript(中卷)

时间:2024-10-27 22:15:57浏览次数:6  
标签:类型转换 异步 JavaScript 生成器 中卷 类型 强制 知道

书pan.baidu.com/s/14cPqfkAgg3VLKETfDcoVew?pwd=953k

一些关键技术:

一、类型和语法

  1. JavaScript的内置类型JavaScript有七种内置类型,分别是:null、undefined、boolean、number、string、object和symbol(ES6中新增)。除object之外,其他类型统称为“基本类型”。可以使用typeof运算符来查看值的类型,但需要注意的是,typeof对null的处理存在特殊情况,即typeof null返回的是”object”,这是一个历史遗留问题。
  2. 值和类型的关系在JavaScript中,变量没有类型,但它们所持有的值有类型。类型定义了值的行为特征。例如,数字类型包括整数和浮点型,还有特殊的值如NaN、+Infinity、-Infinity和-0等。字符串和数组虽然类似,但行为特征不同,特别是在将字符作为数组元素来处理时需要特别小心。
  3. 原生函数和封装对象JavaScript为基本数据类型值提供了封装对象,称为原生函数,如String、Number、Boolean等。这些原生函数为基本数据类型值提供了该子类型所特有的方法和属性。例如,可以使用String对象的trim()方法来去除字符串两端的空白字符。
  4. 强制类型转换强制类型转换是JavaScript中的一个重要概念,包括显式强制类型转换和隐式强制类型转换。显式强制类型转换明确告诉我们哪里发生了类型转换,有助于提高代码的可读性和可维护性。而隐式强制类型转换则没有那么明显,是其他操作的副作用,但也有助于提高代码的可读性(尽管有时可能会引发错误)。在处理强制类型转换时,需要特别小心,尤其是隐式强制类型转换。

二、异步与性能

  1. 事件循环JavaScript程序总是至少分为两个块:第一块现在运行;下一块将来运行,以响应某个事件。事件循环是JavaScript引擎的代码解析纠错机制,它会在需要的地方自动插入分号来纠正解析错误,并确保程序能够按预期运行。一旦有事件需要运行,事件循环就会运行,直到队列清空。
  2. 回调函数回调函数是JavaScript异步的基本单元。但是,随着JavaScript的发展,回调已经不够用了。因为大脑对于事情的计划方式是线性的、阻塞的、单线程的语义,而回调表达异步流程的方式是非线性的、非顺序的,这使得正确推导这样的代码难度很大。因此,需要一种更同步、更顺序、更阻塞的的方式来表达异步,如Promise和生成器等。
  3. PromisePromise是处理异步操作的一种更优雅的方式。它代表了一个未来可能会完成(或失败)的异步操作的结果。通过Promise,可以将异步操作的成功值或失败原因传递给后续操作,从而避免回调地狱的问题。Promise还提供了链式调用的能力,使得异步操作更加易于管理和维护。
  4. 生成器生成器是一种特殊的函数,它可以在执行过程中暂停和恢复。通过生成器,可以创建一个迭代器对象,该对象允许你逐个访问生成器函数产生的值。生成器在异步编程中非常有用,因为它们允许你以同步的方式编写异步代码,从而更容易理解和维护。

标签:类型转换,异步,JavaScript,生成器,中卷,类型,强制,知道
From: https://blog.csdn.net/hdfjgfj/article/details/143276138

相关文章

  • JavaScript基础2
    一:程序逻辑关系运算符结果是trueorfalse<=>>=<======!=!==双等于号不考虑类型,值相等即可三等于号(精准匹配)考虑类型,要值和类型相同才能返回true!=不等于号同上尽量使用精准匹配条件语句和布尔值非空字符串,非零数值都是真值使用if进行条件判断,如果a为真值,则执......
  • Is there an alternative to deprecated e.which in JavaScript?
    题意:"在JavaScript中,有没有可以替代已弃用的`e.which`的方法?"问题背景:ImnewtoJavaScripteventhandling,Iwouldliketotriggeraneventuponmousemoveandleft-clickonadivelement.Mycurrentimplementationistocheckthat e.which==1 whenI......
  • JavaScript CSS Vue3 实现一个简单的Loading
    之前项目用到的,后来换其他效果了。放博客里保存一下。效果视频转GIF之后不太流畅……代码<scriptsetuplang="ts">import{onBeforeUnmount,onMounted,ref}from"vue";import{clamp}from"../scripts/Utils";constmaskDiv=ref<HTMLDivElement>(null)co......
  • 大学生HTML期末大作业——HTML+CSS+JavaScript旅游网站(河南)
    HTML+CSS+JS【旅游网站】网页设计期末课程大作业web前端开发技术web课程设计网页规划与设计......
  • 自学Python不知道看什么书?10本Python经典好书(附pdf),看完少走一半弯路
    前言Python的语法简单,易于上手,这使得初学者能够快速地掌握编程基础,并迅速投入到实际项目中去。同时Python入门时阅读书籍的作用是多方面的,阅读书籍不仅为初学者提供了系统学习Python的基础、掌握的基础知识,还可以培养他们的编程思维和学习动力,为未来的编程之路打下坚实的基础......
  • 大学生HTML期末大作业——HTML+CSS+JavaScript名侦探柯南
    HTML+CSS+JS【动漫网站】网页设计期末课程大作业web前端开发技术web课程设计网页规划与设计......
  • 计算机网络整体认识,尝试以最少的时间让你知道计网(只要问一下自己就可以知道什么是计网
    文章目录前言一、计算机网络是什么二、物理层三、数据链路层(使用MAC地址)四、网络层(使用IP地址)五、传输层(TCP/IP、UDP)六、应用层(HTTP、FTP、SMTP、DNS)下面是我对计网的浅识认知,单纯是个人经验,有不足的地方可以在评论区中指正,我看到后会进行修正。我的目的是以最少的篇......
  • Midjourney上线图像编辑,他们终于知道什么叫开放了。
    Midjourney作为文生图领域毋庸置疑的头号选手,之前几乎每次推新都非常惊艳。前段时间也看到很多消息说Midjourneyv7已经训练完毕了,但我左等右等,没等到v7的发布。却提前等来了可能会更加好玩的一个功能——图像编辑模式。Midjourney的这个新功能意义蛮大的。因为开源的......
  • 【Web前端】JavaScript 对象基础
     JavaScript是一种以对象为基础的编程语言,操作数据时,实际都是在处理对象。可以使用简单的数据类型(如字符串、数字和布尔值)来实现一些功能,但深入了解JavaScript对象的运作,将使你能够编写更强大和灵活的代码。对象基础JavaScript中,对象是由一组键(或属性)和值组成的无......
  • 验证码图像处理(JavaScript 版)
    图像处理在现代网页应用中扮演着重要角色,常用于图像分析和用户交互。本文将使用JavaScript和HTML5Canvas实现一些基本的图像处理操作,包括灰度转换、去除边框、提取有效区域和图像分割。环境准备首先,确保你有一个基本的HTML文件,其中包含一个Canvas元素。以下是示例结构:......