加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

JavaScript九大面试问题集锦,助你顺利通关!

发布时间:2019-07-20 05:12:19 所属栏目:建站 来源:读芯术
导读:副标题#e# 人们认为JavaScript是最适合初学者的语言。一部分原因在于JavaScript在互联网中运用广泛,另一部分原因在于其自身特性使得即使编写的代码不那么完美依然可以运行:无论是否少了一个分号或是内存管理问题,它都不像许多其他语言那样严格,但在开始

要想完全杜绝这种简写,可以编写严格模式,——在ES5中介绍过——在文档顶部或特定函数中写use strict。后,当你尝试声明没有关键字的变量时,你将收到一条报语法错误:Uncaught SyntaxError:Unexpected indentifier。

7. 面向对象编程(OOP)和函数式编程(FP)之间的区别是什么?

JavaScript是一种多范式语言,即它支持多种不同的编程风格,包括事件驱动,函数和面向对象。

编程范式各有不同,但在当代计算中,函数编程和面向对象编程最为流行 - 而JavaScript两种都可执行。

(1) 面向对象编程

OOP以“对象”这一概念为基础的数据结构,包含数据字段(JavaScript称为类)和程序(JavaScript中的方法)。

一些JavaScript的内置对象包括Math(用于random,max和sin等方法),JSON(用于解析JSON数据)和原始数据类型,如String,Array,Number和Boolean。

无论何时采用的内置方法,原型或类,本质上都在使用面向对象编程。

(2) 函数编程

FP(函数编程)以“纯函数”的概念为基础,避免共享状态,可变数据和副作用。这可能看起来像很多术语,但可能已经在代码中创建了许多纯函数。

输入相同数据,纯函数总是返回相同的输出。这种方式没有副作用:除了返回结果之外,例如登录控制台或修改外部变量等都不会发生。

至于共享状态,这里有一个简单的例子,即使输入是相同的,状态仍可以改变函数的输出。设置一个具有两个函数的代码:一个将数字加5,另一个将数字乘以5。

  1. const num = { 
  2.  val: 1 
  3. }; 
  4. const add5 = () => num.val += 5; 
  5. const multiply5 = () => num.val *= 5; 

如果先调用add5在调用乘以5,则整体结果为30。但是如果以相反的方式执行函数并记录结果,则输出为10,与之前结果不一致。

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读