文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Javascript基础中的十个重要问题分别是什么

2023-06-22 00:26

关注

Javascript基础中的十个重要问题分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1.什么是Javascript?

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

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

2.什么是DOM

DOM代表文档对象模型。加载网页后,浏览器会使用HTML和CSS文件创建一个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)); // undefinedvar 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 stagevar num; // Declarationnum = 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 genrefunction 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));  // 11console.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函数内部使用。这就是我们所谓的回调函数。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯