面试问题:js是什么

解答逻辑:从背景》主要功能》语言特点》编译模式解答。

1.背景:js是一种具有函数优先的轻量级,解释型或及时编译性语言。js基于原型编辑,多范式的动态脚本语言语言。同时能他的实际语法偏向java但是他的构成收到self和scheme影响不叫神,但是编程方式借鉴了很多java。

其中可能问的问题:

  (1)函数优先的轻量级语言:具体来说,js确实是一种以函数为核心的语言,函数在js中,具有很高的灵活性和重要性,同时他也可以被视为一种轻量级语言,因为它的语言相对简洁,学习曲线较低。

  (2).解释型或及时编译性语言:js通常被描述为一种解释型语言及时编译性语言,在因为它在运行时由浏览器的js引擎解释执行。及时编译性语言:体现在v8引擎使用了JIT(即时编译)技术,他是直接将js代码编译成机器码,然后全编译完执行,他这么做的核心原因:还是他大部分是由js写的。

而它的解释型语言,SpiderMonkey 引擎火狐的引擎,等大多数的引擎都是逐行解释js代码,然后将他转换成相应的操作,然后执行操作,他的优势是快速运行简单的js代码,对于短时执行代码很友好。

  (3)基于原型编辑:js是一种基于原型的面向对象语言,他是使用原型链来实现对象之间的继承关系,而不是传统的类继承模型例如java()。

  (4)多范式的动态脚本语:js是一种多范式语言,他支持多种编程范式,包括面向对象编程,函数式编程和命令行式编程。他也是一种动态语言,允许在运行时动态的修改和创建对象,函数等。

  (5)语法偏向于 Self 和 Scheme:slet和 Scheme具体是什么样的我不太会因为好老了,但是self是一种面向对象的动态语言,而Scheme则是一种函数式编程语言,js的函数编程和原型继承很大是收到他的影响,语法和java类似

  (6)Js语法都有什么:例如变量声明 var,let,const关键字来声明变量,数组类型,运算符,条件语句,循环语句,函数定义,对象和属性,数组操作,闭包。当然还有箭头函数,解构赋值,类和模块等。

2.主要功能:用来操作HTML和XML文件,和浏览器进行交互,node的开发语言。

(1)可能问到的问题:HTML和XML什么区别:主要还是因为HTML不能扩展,也没有什么语言结构,那么XML的出现就是因为来解决这些问题。

3.语言构成:ECMAscript,描述了该语言的语法和基本对象。DOM(文档对象模型),BOM(浏览器对象模型)

可能出现的问题

(1)DOM是什么:应该是说dom对象是浏览器根据html标签生产的JS对象,所以的标签属性都在这个对象上面,然后再通过修改对象的属性自动映射到标签身上。他的核心思想就是把网页内容当做对象来处理他的顶级对象是document然后是Root element(html)然后是element(head)(body)

(2)BOM是什么:浏览器对象模型,主要是用来描述组合中对象与对象和字键之间的层次关系的模型,并且浏览器对象模型提供了独立于内容的,可以与浏览器窗口进行交互的对象结构,BOM的顶级对象是Window对象是里面有(location,history什么的)可以与浏览器的api交互

4.语言特点:

1.脚本语言。2,基于对象编译。3,简单原因:是弱类型语言。4,动态性。5.跨平台型。

可能问到的问题:

        1.脚本语言是什么:一种用于编写脚本的编程语言。脚本是一些列命令或者指令的集合,相比较传统的编译型语言(C++,java),脚本语言不需要编译成机器码,而是通过解释器逐行执行的。

        2.js的一切皆为对象,js是一种基于对象的脚本语言。

        3.为什么简单:弱类型语言。

        4.动态性:js是一种采用事件驱动的脚本语言,他不需要经过web服务器就可以对用户的输入做出响应,例如点击事件这种直接就给出相应

        5.跨平台性:因为js脚本语言不依赖于操作系统,仅仅需要浏览器的支持。所以只要机器的浏览器支持那么所有都可以使用。

5.编译模式:同上面背景的编译型语言和即时编译型语言的解释一样。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值