在本文中,您将学习面试中最常见的JavaScript面试问题和答案。在继续学习 JavaScript 面试问题和答案之前,我们首先学习完整的 JavaScript 教程。
JavaScript(JS)是使用最广泛的轻量级脚本和编译编程语言,具有一流的功能,由Brenden Eich于1995年开发。众所周知,它是网页、移动应用程序、Web 服务器等的脚本语言。
JavaScript 面试问答
JavaScript是Uber,Airbnb,Google,Netflix,Instagram,Spotify,Amazon等顶级公司中使用最多的语言,因为它的功能和性能。要以 Web 开发人员的身份进入这些公司和其他软件公司,您需要掌握一些重要的 JavaScript 面试问题,以攻克他们的 JavaScript 在线评估轮次和 JavaScript 技术面试。
JavaScript是一种客户端脚本语言,而Java是面向对象的编程语言,它们两者完全不同。
在JavaScript中有三种主要的数据类型。
注释用于防止语句的执行。编译器在执行代码时会忽略注释。JavaScript中有两种用于表示注释的符号:
// Single line comment
/*
Multi-line comments
...
*/
在这里,3和2的行为类似于整数,而“7”的行为类似于字符串。所以3加2将得到5。然后输出将是5+”7″= 57。
JavaScript 中的数字 isNan 函数用于判断传递的值是否为 NaN(非数字),是否属于 "Number "类型。在 JavaScript 中,数值 NaN 被认为是一种数字类型。如果参数不是数字,则返回 true,否则返回 false。
JavaScript比ASP脚本更快,因为JavaScript是一种客户端脚本语言,不依赖于服务器来执行,而ASP脚本是一种始终依赖于服务器的服务器端脚本语言。
JavaScript中的负无穷大是一个常量值,用于表示最低可用值。这意味着没有其他数字比这个值更小。它可以通过自定义函数或算术运算生成。JavaScript将NEGATIVE_INFINITY值显示为-Infinity。
是的,可以在字符串语句中将 JavaScript 代码分成几行。可以使用**反斜线'\'**来断开。
document.write("A Online Computer Science Portal\ for Geeks")
代码攻克行被不推荐的JavaScript所避免。
let gfg= 10, GFG = 5,
demo =
gfg + demo;
网景公司开发了 JavaScript,由布伦登-艾奇(Brenden Eich)于 1995 年创建。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<button onclick="create()">
Click Here!
</button>
<script>
function create() {
let geeks = document.createElement('geeks');
geeks.textContent = "Geeksforgeeks";
geeks.setAttribute('class', 'note');
document.body.appendChild(geeks);
}
</script>
</body>
</html>
相比之下,全局变量是在函数外定义的变量。这些变量具有全局作用域,因此可以被任何函数使用而无需将它们作为参数传递给函数。
Example:
let petName = "Rocky"; //Global Variable
myFunction();
function myFunction() {
document.getElementById("geeks").innerHTML
= typeof petName + "- " +
"My pet name is " + petName;
}
document.getElementById("Geeks")
.innerHTML = typeof petName + "- " +
"My pet name is " + petName;
依赖全局变量的代码很难进行调试和测试。
NULL值表示没有值或没有对象。它可以被称为空值/空对象。
使用 delete 关键字 可以一次删除整个属性及其所有值。
let gfg={Course: "DSA", Duration:30};
delete gfg.Course;
它用于显示一个带有可选消息的对话框,提示用户输入一些文本。如果用户想在进入页面之前输入一个值,通常会使用它。它返回包含用户输入的文本的字符串,或者返回null。
JavaScript中的函数是必不可少的对象。与对象一样,它们可以被赋值给变量,传递给其他函数,并从函数中返回。而且和对象类似,它们也有自己的属性。'this'存储了JavaScript程序当前执行上下文的信息。因此,在函数内部使用时,'this'的值会根据函数如何定义、如何调用以及默认执行上下文而改变。
计时器用于在特定时间执行一些特定的代码,或者重复执行一小段代码。要实现这个功能,你需要使用函数. setTimout setInterval 和 clearInterval。如果JavaScript代码将计时器设置为2分钟,并且当时间到达后页面显示一个警告消息“时间到了”。**setTimeout()**方法会在指定的毫秒数之后调用一个函数或评估一个表达式。
您可以使用 document.form[0].submit()
方法在 JavaScript 中提交表单。
是的,JavaScript 支持自动类型转换。
import Vue from 'vue'
import Cookies from 'js-cookie'
import 'normalize.css/normalize.css' // a modern alternative to CSS resets
import Element from 'element-ui'
import './styles/element-variables.scss'
import '@/styles/index.scss' // global css
import '@/styles/admin.scss'
import App from './App'
import store from './store'
import router from './router'
import permission from './directive/permission'
import { getDicts } from '@/api/system/dict/data'
import { getItems, setItems } from '@/api/table'
import { getConfigKey } from '@/api/system/config'
import { parseTime, resetForm, addDateRange, selectDictLabel, selectItemsLabel } from '@/utils/costum'
import './icons' // icon
import './permission' // permission control
import './utils/error-log' // error log
import uploader from 'vue-simple-uploader'
Vue.use(uploader)
import Viser from 'viser-vue'
Vue.use(Viser)
import * as filters from './filters' // global filters
import Pagination from '@/components/Pagination'
import BasicLayout from '@/layout/BasicLayout'
import '@/utils/dialog'
// 全局方法挂载
Vue.prototype.getDicts = getDicts
Vue.prototype.getItems = getItems
Vue.prototype.setItems = setItems
Vue.prototype.getConfigKey = getConfigKey
Vue.prototype.parseTime = parseTime
Vue.prototype.resetForm = resetForm
Vue.prototype.addDateRange = addDateRange
Vue.prototype.selectDictLabel = selectDictLabel
Vue.prototype.selectItemsLabel = selectItemsLabel
// 全局组件挂载
Vue.component('Pagination', Pagination)
Vue.component('BasicLayout', BasicLayout)
Vue.prototype.msgSuccess = function(msg) {
this.$message({ showClose: true, message: msg, type: 'success' })
}
Vue.prototype.msgError = function(msg) {
this.$message({ showClose: true, message: msg, type: 'error' })
}
Vue.prototype.msgInfo = function(msg) {
this.$message.info(msg)
}
Vue.use(permission)
Vue.use(Element, {
size: Cookies.get('size') || 'medium' // set element-ui default size
})
import VueDND from 'awe-dnd'
Vue.use(VueDND)
import 'remixicon/fonts/remixicon.css'
// register global utility filters
Object.keys(filters).forEach(key => {
Vue.filter(key, filters[key])
})
Vue.config.productionTip = false
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})