首页 >web前端 >js教程 >关于 Javascript 中级的一切

关于 Javascript 中级的一切

Linda Hamilton
Linda Hamilton原创
2024-11-29 07:41:13184浏览

All About Javascript For Intermediate

什么是 javascript:
javascript 是一种开源编程语言。这有助于创建动态网页。它也是浏览器语言。
它可以在客户端(在浏览器中)和服务器端(使用 Node.js 等环境)上运行。
JavaScript 支持事件驱动、非阻塞和异步编程,这对于同时处理多个任务至关重要。

变量:
变量是存储数据的容器
变量类型

  • var
  • 常量

运算符
Javascript 运算符用于执行不同类型的数学和逻辑计算。
运算符的类型

  • 算术 = ,-,/,%,*
  • 比较
  • 逻辑

数据类型
定义变量的类型

原始数据类型=按值存储值

  • 字符串
  • 数字
  • Bigint
  • 布尔值
  • 未定义 = 我们声明变量,值未定义。数据类型未定义
  • Null = 这是一个赋值,我们显式将该值设置为 null。数据类型是对象
  • 符号

非预设数据类型 = 通过引用(地址)存储值

  • Object = 内置对象类型可以是:对象、数组、日期、映射、集合、intarrays、floatarrays、promise
  • 示例:
  • null == undefined 为 true,但 null === undefined 为 false。

JavaScript 中的导出和默认导出之间的主要区别?
是导出默认值用于从模块导出单个值,
而带有命名导出的导出用于导出多个值

原始数据类型和非原始数据类型之间的主要区别?

  • 基本类型是预定义的,而非基本类型是由程序员创建的。
  • 原始和非原始数据结构,允许您仅存储单个数据类型值和存储多个数据类型值。 原始数据类型直接存储在内存中,而非原始数据类型则作为对其值的引用存储在内存中。
  • 原始数据类型按值传递,非原始数据类型按引用传递。
  • 原始数据类型是不可变的,这意味着它们的值一旦分配就不能更改。非原始数据类型是可变的并且可以修改。
  • 数字、字符串和布尔值是原始数据类型的示例,而对象、数组和函数是非原始数据类型的示例。

函数:
JavaScript 函数是设计用于执行特定任务的代码块。

javascript 是静态类型语言还是动态类型语言?
JavaScript 是一种动态类型语言。在动态类型语言中,
与静态类型语言相比,在运行时检查变量的类型,
在编译时检查变量的类型。

解释按值传递和按引用传递?
在 JavaScript 中,原始数据类型通过值传递,非原始数据类型通过引用传递。
原始数据类型 = 字符串、数字、布尔值、null、未定义
非原始数据类型 = 对象、数组

javascript中的严格模式是什么意思以及javascript严格模式的特点?
允许您在严格的运行环境中编写代码或函数。
结果,调试变得更加简单。

JavaScript 中的工厂函数是什么? ​​
如果我们有复杂的逻辑,并且我们必须一次又一次地创建多个具有相同逻辑的对象,
我们可以在函数中编写一次逻辑,然后使用该函数作为工厂来创建我们的对象。
就和现实世界的工厂生产产品一样。
工厂函数是返回对象的函数。

高阶函数:
函数接受其他函数作为参数或返回该函数。
map、filter和reduce函数都是HOF的例子。
高阶函数对于事件处理、数据转换(例如映射和过滤器)以及创建函数工厂或装饰器等任务非常有用。

关闭:
当一个函数在另一个函数中定义时,就会创建闭包,
并且内部函数保留对外部函数作用域中的变量和方法的访问
闭包提供了一种将数据封装在函数中的方法,允许对数据进行受控访问,同时保持数据对外部范围隐藏。

回调:
用作另一个函数的参数的函数称为回调函数。
回调是一个函数,它将在另一个函数执行后执行。
当我们想要执行异步操作时回调函数的用例。

map() 与 forEach()
地图()=>迭代数组的每个元素并对每个元素应用转换函数。
不修改原数组;它使用转换后的元素创建一个新数组。
forEach()=>迭代数组的每个元素并为每个元素执行提供的回调函数。
不创建新数组或修改现有数组;它只执行回调函数。

map()、filter()、reduce()
map()它将返回新数组
filter() 与map() 类似,它也返回新数组,但如果条件为真。当我们想要应用条件时使用。
reduce() 它将从数组返回单个值。

此关键字:
this 关键字的值始终取决于调用该函数的对象。

柯里化:
将具有 n 个参数的函数转换为 n 个函数。
启用部分应用程序的用例(当您有一个接受多个参数的函数,但您只想修复其中一些参数,同时保留其他参数以供以后使用时),
代码的重用。
例如

function add (a) {
  return function(b){
    return a + b;
  }
}
add(3)(4)

普通函数与箭头函数?
正常功能:
this 指的是调用该函数的对象
可以用作构造函数
函数声明被提升(允许托管)
箭头函数:
没有自己的这个
不能用作构造函数
函数声明不被提升(不允许托管) // myfunc 不是函数

正常和三元条件?
三元条件存储没有此上下文的引用。

javascript中的exec()和test()方法有什么区别?
test() 和 exec() 是 javascript 中使用的正则表达式方法。

使用外部 JavaScript 的一些优点?
我们可以重用该代码。
外部 javascript 代码可读性简单(代码模块化)

原型:
JavaScript 原型属性还允许您向对象构造函数添加新属性和方法。
用于测试的用例

记忆:
记忆化是一种缓存形式,其中函数的返回值根据其参数进行缓存。
如果该函数的参数未更改,则返回该函数的缓存版本。

DOM:
DOM 代表文档对象模型。 DOM 是 HTML 的编程接口。
当浏览器尝试渲染 HTML 文档时,它会创建一个 DOM
使用这个 DOM,我们可以操作或更改 HTML 文档中的各种元素。

物料清单:
浏览器对象模型称为 BOM。它允许用户与浏览器交互。
浏览器的初始对象是窗口。

承诺:
Promise 用于处理 JavaScript 中的异步操作。在 Promise 之前,回调用于处理异步操作。
Promise 对象有四种状态 -
待定 - 承诺的初始状态。
Fulfilled-这个状态代表承诺已经兑现了,。
Rejected- 此状态代表 Promise 已被拒绝。
已解决 - 此状态表示承诺已被拒绝或已履行。

异步/等待:
它建立在 Promise 之上,它提供了更简洁的方式来编写异步代码,使其更易于阅读和编写。
async 关键字用于声明同步函数,await 用于等待 Promise 得到解决。

表达与结构
=>express 是返回一些值
例如

function add (a) {
  return function(b){
    return a + b;
  }
}
add(3)(4)

5 和 myfun() 返回一些值是一个表达式
指令和命令操作的语句,但不返回值
例如 if,else, while 这些都是语句
while(i

剩余参数和展开运算符:
剩余参数它将单独的元素组合成一个数组
扩展运算符用于将数组分成单个元素

生成器函数?
可以中途停下来,然后从停下的地方继续。
生成器对象包含一个名为 next() 的方法,该方法被调用时,会执行代码直到最近的yield 语句,并返回yield 值。

调用()、应用()和绑定():
所有这些都是用来给这个关键字分配对象(给这个关键字赋值)
当我们想要使用所需对象操作函数的 this 关键字时的用例
bind() 方法 创建一个新函数,在调用时,将其 this 关键字设置为提供的值(例如对象)。它创建一个新对象。
call() 和 apply() 具有完全相同的目的。 call() 方法不会复制正在调用的函数。
它们工作方式之间的唯一区别是 call() 期望所有参数单独传入,
而 apply() 需要一个包含所有参数的数组。

IIFE:
立即调用函数,该函数一旦定义就运行。
例如

const x=5;
const y=myfun();

纯函数:
对于相同的输入产生相同的输出。当表达式的操作数具有不同数据类型时,就会发生这种情况。
不修改外部状态或变量的函数

javascript 是静态类型语言还是动态类型语言?
在动态类型语言中,与静态类型语言相反,在运行时检查变量的类型,
在编译时检查变量的类型。
例如
静态类型

(function(){ 
  // Do something;
})();

动态类型

string name="salman"; 
// varaible has types

酷尔币:
将值从一种数据类型自动转换为另一种数据类型。
字符串强制转换
将数字转换为字符串
- 将字符串转换为数字

NaN():
isNaN() 函数将给定值转换为 Number 类型,然后等于 NaN。

ASP 脚本与 javascript ?
ASP 脚本运行在服务器上,而 JavaScript 运行在客户端浏览器上。
ASP 脚本是一种服务器端语言,用于处理复杂的任务,例如数据库查询、表单提交和用户身份验证。
而 JavaScript 是一种客户端语言,用于在网页上创建交互元素,例如动画、弹出窗口和表单验证。

未定义值:
值未定义,但存在变量
对象中缺少属性

eslint:
它有助于调试和修复 javascript 代码中的常见漏洞

想了解更多关于我的信息,只需在搜索引擎上写sallbro...

以上是关于 Javascript 中级的一切的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn