百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

七爪源码:JavaScript 的基本原理

wxin55 2024-11-21 22:16 7 浏览 0 评论

什么是Javascript:

1:JavaScrip 是一种高级的、面向对象的多范式编程语言。

2:编程语言只是一种工具,它允许我们编写代码来指示计算机做某事。

3:JavaScript 是一种高级语言,这意味着我们不必考虑很多复杂的事情,例如在计算机运行时管理计算机的内存。

4:JavaScrip 是一种面向对象的编程语言。 JavaScript 主要是基于对象的概念来存储更多种类的数据。

5:JavaScrip 是一种灵活的语言,这意味着我们可以使用各种不同的编程风格,例如命令式和声明式编程风格。 这两种风格有不同类型的结构。


JavaScript 在 Web 开发中的作用是什么?

网络上有三大核心技术,分别是 HTML、CSS、JS(JavaScript)

2:所有这些技术协同工作,创建一个漂亮而动态的网站或网络应用程序

3:HTML负责页面的内容。 因此,您在网页上看到的文本、图像按钮和所有内容始终是用 HTML 编写的。

4:CSS负责内容的呈现。 用于样式和在网页上布置元素。

5:JavaScript 允许开发者为任何网页添加动态和交互效果。 我们还使用它来操作内容或 CSS 并从远程服务器加载数据。

6:JavaScript 允许我们在浏览器中为 Web 应用程序赋予动态效果。


语法规则示例:

HTML 代表名词(段落),所以段落在这里是名词。

ex: <p> paragraph</p> (Noun)

CSS 是一个形容词,因为它描述了名词。

p {color: red} (means the paragraph text is “red”) So this is an adjective to the noun. 

JAVASCRIPT 是一个动词。 就像我们可以隐藏段落一样,我们正在做一些事情。


javascript 做两件不同的事情:

1:JavScript 也可以在 Web 浏览器之外运行。 例如,可以在使用 Node js 的 Web 服务器上使用 JavaScript。

2:JavaScrip 也用于前端应用程序。


JavaScript 中的值和变量

1:一个值基本上就是一条数据

2:值是我们在 JavaScript 中拥有的最小信息单位。

3:可以将值存储在变量中。 这样,该值可以一次又一次地使用。

例如:

// "Mangos", is a value. if you want to see this on a console.
console.log("Mangos"); // Mangos
console.log(23); // and here 23 is a value. 
let firstName = "Bennison"; 
console.log(firstName); // Bennison


变量和值的真实示例:

1:变量就像一个盒子,盒子可以容纳一些物体,例如一本书。

2:我们可以给这个盒子贴上标签来描述里面有什么。然后我们可以稍后通过使用该标签来使用该对象。


变量命名规则:

1:规则的原因,我们不应该给变量一个随机的名字。

2:我们不能以数字开头的变量名。

3:变量名只能包含字母、数字和下划线。

4:我们不能使用保留的 JavaScript 关键字来命名变量。

注意:当你命名你的变量时,它应该很容易理解,并且仅仅通过读取变量的名称,变量所持有的值是什么。


日期类型:

1:每种编程语言的值都可以是不同的类型,具体取决于数据的类型。

2:javascript 对象或原始值中的每个值。

3:当值只是原始类型时,该值不是对象。


原始数据类型:

JavaScript 中有七种类型的 Primitive DataType。

1:数字:浮点数→用于小数和整数。

2:字符串:字符序列→用于文本。

3:布尔型:只能为真或假的逻辑类型→用于决策

4:未定义:值由尚未定义的变量获取。 (“空值”)

5:Null:也表示“空值”

6:符号(ES2015):唯一且不能更改的值。

7:Big Int:比 Number 类型可以容纳的大数字。

注意:JavaScript 有一个称为动态类型的功能。 这意味着当我们创建一个新变量时,您不需要手动定义它包含的值的数据类型。 因为 JavaScript 在将值存储到变量时会自动确定值的类型。


类型运算符:

  • Typeof 运算符用于检查值(数据)的类型。
console.log(typeof null)         // Object
console.log(typeof 123)          // Number
console.log(typeof "Bennison")   // String
console.log(typeof 1n)           // BigInt
console.log(typeof undefined)    //  undefined
sym = symbol();
console.log(typeof sym)          // Symbol
console.log(typeof [])           // Object


JavaScript 中的 let、const 和 var:

1:在 ES6 中引入了 let 和 const,所以这些关键字在 JavaScript 中是现代的。

2:var关键字是一种旧的声明变量的方式。


为什么选择关键字:

  • 当您使用 var、let 和 const 等关键字定义变量时,内存空间将分配给该变量。


Javascript 中的 let 关键字:

1:我们使用let关键字来声明变量,这个变量以后可以更改。

let variable = "value";
console.log(variable)    // value
let variable = "value";  // value
  • 上面的程序不会报错。
  • 这称为将变量重新分配给值。
  • 当我们重新分配变量时,该变量的旧内存地址被释放,然后新的内存被分配给该变量。


JavaScript 中的 const 关键字:

const variable = "value"
console.log(variable);   //value
variable = "new value";   // This  line will give an error "Uncaught TypeError: Assignment to constant variable"
  • 我们使用 const 关键字声明一个变量,该变量不能更改。 因此 const 变量中的值无法更改。
  • 我们不能声明没有值的 const 关键字。 如果我们这样做,它会给出一个错误。 因为我们需要一个初始值。


JavaScript 中的 Var 关键字:

  • var 基本上是定义变量的旧方法。 它以漂亮的方式像 let 关键字一样工作。
  • let 是块作用域,而 var 是函数作用域。

注意:我们可以声明一个不带关键字的变量。 它可能适用于 JavaScript。

var variable = "value"
console.log(variable)  // value
variable = "New Value" 
console.log(variable)  // New Value
var variable = "string"
console.log(variable)  // string

上述程序将运行良好。 但这不是一个变量。 因为 JavaScript 不会在当前范围内创建变量。 相反,JavaScript 将在全局对象上创建一个属性。


JavaScript 类型转换和类型强制:

类型转换 → 这意味着我们手动将类型从一种类型转换为另一种类型。

console.log(Number("123") + 2)  // 125
  • 在上面的示例中,我们使用了 Number 构造函数,它将字符串转换为数字。
  • 如果字符串不是数字字符串,则构造函数 Number 函数返回 NaN
  • 类型强制 → 这意味着 JavaScript 会在后台自动为我们转换类型。
const inputYear = "2000"; 
console.log(inputYear + 18);            // "200018"
console.log(Number(inputYear) + 18);    // 2018

console.log(Number("Bennison"));        // NaN
console.log(typeof NaN)                 // "Number"
  • 这里第二行有一个表达式,一个操作数是一个字符串,另一个操作数是一个数字。 并且操作符是加号,在这种情况下,加号会触发类型转换,将数字(18)转换为字符串。
  • 如果在上面的例子中,运算符是减号(-),这里的减号触发类型转换,将字符串转换为数字。
  • JavaScript 只能转换为三种类型。 (到一个数字,到一个字符串,到一个布尔值)。


类型强制:

  • 每当操作处理具有不同类型的两个值时。 所以在这种情况下,在幕后,JavaScript 转换其中一个值以匹配另一个值。
console.log("I am " + 21 + "years old");
  • 在上面的控制台中,有一个字符串和一个数字,还有一个字符串。
  • 上面的 console.log 有一个具有不同类型数据类型的表达式。
  • 在上面的 console.log 中,JavaScript 自动将数字 21 转换为字符串“21”。 之后,表达式将被执行。
  • 加号运算符触发将数字类型转换为字符串。 这意味着加号运算符会自动将数字转换为字符串。
  • 这称为类型强制。 许多其他语言不这样做。
console.log("23" + "10" -"3")   // 10
  • 在此期间,JavaScript 将字符串转换为数字。
  • 在这种情况下,减号运算符会触发相反的转换(将字符串转换为数字)。
console.log("23" * "2")   // 46
console.log("23" / "2")   // 11.5
  • 运算符 (*, /) 将字符串转换为数字。


最后!我希望你已经了解了 JavaScript、类型强制和类型转换的基础知识。

相关推荐

ES6中 Promise的使用场景?(es6promise用法例子)

一、介绍Promise,译为承诺,是异步编程的一种解决方案,比传统的解决方案(回调函数)更加合理和更加强大在以往我们如果处理多层异步操作,我们往往会像下面那样编写我们的代码doSomething(f...

JavaScript 对 Promise 并发的处理方法

Promise对象代表一个未来的值,它有三种状态:pending待定,这是Promise的初始状态,它可能成功,也可能失败,前途未卜fulfilled已完成,这是一种成功的状态,此时可以获取...

Promise的九大方法(promise的实例方法)

1、promise.resolv静态方法Promise.resolve(value)可以认为是newPromise方法的语法糖,比如Promise.resolve(42)可以认为是以下代码的语...

360前端一面~面试题解析(360前端开发面试题)

1.组件库按需加载怎么做的,具体打包配了什么-按需加载实现:借助打包工具(如Webpack的require.context或ES模块动态导入),在使用组件时才引入对应的代码。例如在V...

前端面试-Promise 的 finally 怎么实现的?如何在工作中使用?

Promise的finally方法是一个非常有用的工具,它无论Promise是成功(fulfilled)还是失败(rejected)都会执行,且不改变Promise的最终结果。它的实现原...

最简单手写Promise,30行代码理解Promise核心原理和发布订阅模式

看了全网手写Promise的,大部分对于新手还是比较难理解的,其中几个比较难的点:状态还未改变时通过发布订阅模式去收集事件实例化的时候通过调用构造函数里传出来的方法去修改类里面的状态,这个叫Re...

前端分享-Promise可以中途取消啦(promise可以取消吗)

传统Promise就像一台需要手动组装的设备,每次使用都要重新接线。而Promise.withResolvers的出现,相当于给开发者发了一个智能遥控器,可以随时随地控制异步操作。它解决了三大...

手写 Promise(手写输入法 中文)

前言都2020年了,Promise大家肯定都在用了,但是估计很多人对其原理还是一知半解,今天就让我们一起实现一个符合PromiseA+规范的Promise。附PromiseA+规范地址...

什么是 Promise.allSettled()!新手老手都要会?

Promise.allSettled()方法返回一个在所有给定的promise都已经fulfilled或rejected后的promise,并带有一个对象数组,每个对象表示对应的pr...

前端面试-关于Promise解析与高频面试题示范

Promise是啥,直接上图:Promise就是处理异步函数的API,它可以包裹一个异步函数,在异步函数完成时抛出完成状态,让代码结束远古时无限回掉的窘境。配合async/await语法糖,可...

宇宙厂:为什么前端离不开 Promise.withResolvers() ?

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发。1.为什么需要Promise.with...

Promise 新增了一个超实用的 API!

在JavaScript的世界里,Promise一直是处理异步操作的神器。而现在,随着ES2025的发布,Promise又迎来了一个超实用的新成员——Promise.try()!这个新方法简...

一次搞懂 Promise 异步处理(promise 异步顺序执行)

PromisePromise就像这个词的表面意识一样,表示一种承诺、许诺,会在后面给出一个结果,成功或者失败。现在已经成为了主流的异步编程的操作方式,写进了标准里面。状态Promise有且仅有...

Promise 核心机制详解(promise机制的实现原理)

一、Promise的核心状态机Promise本质上是一个状态机,其行为由内部状态严格管控。每个Promise实例在创建时处于Pending(等待)状态,此时异步操作尚未完成。当异步操作成功...

javascript——Promise(js实现promise)

1.PromiseES6开始支持,Promise对象用于一个异步操作的最终完成(包括成功和失败)及结果值的表示。简单说就是处理异步请求的。之所以叫Promise,就是我承诺,如果成功则怎么处理,失败怎...

取消回复欢迎 发表评论: