iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Javascript基础学习之十个重要问题
  • 458
分享到

Javascript基础学习之十个重要问题

2024-04-02 19:04:59 458人浏览 泡泡鱼
摘要

目录1.什么是javascript?2.什么是DOM3. js代码如何执行4. ==和===之间的区别5.Null(空值)与Undefined(未定义)6. Var vs Let v

1.什么是Javascript?

Javascript是一种用于web开发编程语言。JavaScript在网络的客户端上运行。

根据MDN,JavaScript(通常缩写为JS)是一种轻量级的,解释性的,面向对象的语言,具有一流的功能,并且最著名的是WEB页面的脚本语言,但它也用于许多非浏览器环境中。它是一种基于原型的多范式脚本语言,它是动态的,并支持面向对象,命令式和函数式编程样式。

2.什么是DOM

DOM代表文档对象模型。加载网页后,浏览器会使用htmlCSS文件创建一个DOM。DOM由节点和元素表示。您可以使用javascript处理DOM。它是一个树状结构。

3. JS代码如何执行

要回答的问题有点大。但是我们可以简单地说一下。Javascript在浏览器上运行。几乎每个浏览器都有一个JavaScript引擎。V8是其中最受欢迎的。Chrome使用V8引擎。另一方面,Firefox使用Spider-Monkey引擎。

4. ==和===之间的区别

如果我这么简单地说,==仅检查两个值是否相同。它不检查这些值的类型。查看以下代码:


if(2=="2"){
 console.log("true")
} else {
console.log("false")
}

上面的代码将记录为true。因为它将2和“ 2”视为相等,因为它不检查类型。

相反,===同时检查类型和质量。例如:


if(2==="2"){
 console.log("true")
} else {
console.log("false")
}

这将记录为false。因为2和“ 2”的值相等,但是它们的类型不同。

5.Null(空值)与Undefined(未定义)

通常,null表示空值和不存在的值,而undefined表示已声明但尚未定义的值。尽管您也可以显式地将undefined设置为变量。


var n;
console.log(typeof(n)); // undefined

var n = null;
console.log(typeof(n)); // object

有趣的是JS中的对象类型为null。

6. Var vs Let vs Const

es6之前,var是声明变量的唯一方法。但是现在我们有更多选择。

有一个术语作为范围。范围是指可以使用这些变量的位置。var声明是全局范围的或函数/局部范围的。

可以挂起Var,我们将在几秒钟后讨论。但是,现在让let对于变量声明更可取。当不需要稍后在代码中更改变量时,可以使用const。为了获得两者之间的区别,您可以阅读下面的文章,我认为它非常有用。

7.变量提升(Hoisting)

在javascript中,可以在声明变量之前使用变量。物理上移到代码顶部的变量和函数声明的概念称为变量提升。


console.log(num); // Returns undefined, as only declaration was hoisted, no initialization has happened at this stage
var num; // Declaration
num = 6; 

那么,let和const变量是否不会被悬挂?答案要复杂得多。所有声明(函数,var,let,const和class)都在JavaScript中吊起,而var声明使用undefined初始化,但是let和const声明保持未初始化。

8.全局变量与局部变量

在javascript中,范围分为两种方式。全局和局部。

在函数中声明的变量称为局部作用域。该变量不能在函数外部访问。相反,在函数外部声明的变量称为全局范围。可以在函数内部访问它。


var genre= "superhero" //global scope
// code here can't use superhero but genre
function myFunction() {
  var superhero = "Batman"; // local scope
  // code here CAN use superhero and genre
}

9.闭包(Closure)

闭包使我们可以从内部函数访问外部函数的范围。可以通过从一个函数返回另一个函数来创建它。它为每个实例创建一个封闭的环境。例如:


function sum(x) {
  return function(y) {
    return x + y;
  };
}

var add5 = sum(5);
var add10 = sum(10);

console.log(add5(6));  // 11
console.log(add10(6)); // 16

这里的add5和add10都是闭包。它们共享相同的定义,但存储不同的环境。

10.回调函数

根据MDN,回调函数是一个作为参数传递给另一个函数的函数,然后在外部函数内部调用该回调函数以完成某种例程或操作。例如


function greeting(name) {
  console.log('Hello ' + name);
}

function greetEmployee(name,callback) {
  callback(name);
}

greetEmployee("Dwight",greeting);

在这里,greeting函数已在greetEmployee函数内部使用。这就是我们所谓的回调函数。

感谢阅读本文。希望这能帮助到你。 

到此这篇关于Javascript基础学习之十个重要问题的文章就介绍到这了,更多相关Javascript基础内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Javascript基础学习之十个重要问题

本文链接: https://www.lsjlt.com/news/159589.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Javascript基础学习之十个重要问题
    目录1.什么是Javascript?2.什么是DOM3. JS代码如何执行4. ==和===之间的区别5.Null(空值)与Undefined(未定义)6. Var vs Let v...
    99+
    2024-04-02
  • Javascript基础中的十个重要问题分别是什么
    Javascript基础中的十个重要问题分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.什么是Javascript?Javascript是一种用于W...
    99+
    2023-06-22
  • Python基础学习之Python主要的
    Python主要是依靠众多的第三方库来增强它的数据处理能力的。常用的是Numpy库,Scipy库、Matplotlib库、Pandas库、Scikit-Learn库等。 常规版本的python需要在安装完成后另外下载相应的第三方库来安装库...
    99+
    2023-01-31
    基础 Python
  • JavaScript基础学习之splice()函数详解
    目录splice()函数详解一、情况一(只有一个参数)二、情况二 (两个参数)三、情况三 (大于等于三个参数)总结splice()函数详解 splice() 方法向/从数组中添加/删...
    99+
    2024-04-02
  • CISP-PTE学习总结之基础练习题(二)
    文章目录 基础题目一:SQL注入0x01 题目要求0x02 解题过程 基础题目二:文件上传突破0x01 题目要求0x02 解题过程 基础题目...
    99+
    2023-10-03
    数据库 sql mysql
  • Python基础学习之深浅拷贝问题及递归函数练习
    目录一、深浅拷贝问题二、递归函数练习1. 求阶乘2. 猴子吃桃问题3. 打印斐波那契数列一、深浅拷贝问题 在实际工作中,经常涉及到数据的传递,在数据传递使用过程中,可能会发生数据被修...
    99+
    2024-04-02
  • Java基础学习之方法的重载知识总结
    目录一、什么是方法的重载?二、构成方法重载的条件三、重点一、什么是方法的重载? 方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法。 调用时,会根据不同的参数自动匹配...
    99+
    2024-04-02
  • JavaScript中10个需要掌握基础的问题是怎样的
    JavaScript中10个需要掌握基础的问题是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。JavaScript 是一...
    99+
    2024-04-02
  • Python学习之12个常用基础语法详解
    目录前言1.多个字符串组合为一个字符串2.字符串拆分为子字符串列表3.统计列表中元素的次数4.使用try-except-else-block模块5.使用枚举函数得到key/value...
    99+
    2024-04-02
  • 转行学习Java之前,你需要了解的4个问题
    说到Java开发,每个人都能巴拉巴拉说点什么。但是往往都是一些很片面的东西。今天Java小编就跟大家分享下,关于Java开发你必须要知道的一些知识。一、Java是什么?...
    99+
    2023-06-03
  • PyTorch基础之torch.nn.Conv2d中自定义权重问题
    目录torch.nn.Conv2d中自定义权重torch.nn.Conv2d()用法讲解用法参数相关形状总结torch.nn.Conv2d中自定义权重 torch.nn.Conv2d...
    99+
    2023-02-01
    PyTorch torch.nn.Conv2d torch.nn.Conv2d torch.nn.Conv2d自定义权重
  • 在你学习React之前必备的JavaScript基础有哪些
    这篇文章主要介绍“在你学习React之前必备的JavaScript基础有哪些”,在日常操作中,相信很多人在在你学习React之前必备的JavaScript基础有哪些问题上存在疑惑,小编查阅了各式资料,整理出...
    99+
    2024-04-02
  • 数学,英语,计算机基础(或者更多),对学习编程(如java,大数据等)重要吗?
    数学,英语,计算机基础(或者更多),对学习编程(如java,大数据等)重要吗对于学习java和大数据,最粗略的可以分为三个阶段:学习阶段、入门阶段、进阶阶段初学阶段:数学和计算机基础:无论是java还是大数据需要并不是很多,或者说是很少,无...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作