JavaScript面试题

这篇博客主要涵盖JavaScript面试的常见问题,包括数据类型、类型转换、数组与对象的区别、方法使用、事件处理、Ajax操作、JSON及JSONP原理、内存管理和事件流等核心知识点。通过对这些问题的解答,帮助读者深入理解JavaScript的各个方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面试题之–JavaScript篇

什么是JavaScript?

1.是一门脚本语言,通过JavaScript可以增加网页的交互功能,完成复杂的动态网页

2.是一门动态类型语言

3.是一门弱类型语言

JavaScript的组成:

1、ECMAScript  标准----js的基本语法
2、DOM---Document object model   文档对象模型
3、BOM---Browser  object model   浏览器对象模型

JavaScript输出数据的方法:

使用 window.alert() 弹出警告框。
使用prompt("提示信息","输入框的默认信息")
使用 document.write() 方法将内容写到 HTML 文档中。
使用 innerHTML 写入到 HTML 元素。
使用 console.log() 写入到浏览器的控制台。

JavaScript的基本数据类型:

Null、Undefined、Boolean、String、Number、Object。其中Object是一种复杂数据类型。

javascript的typeof返回哪些数据类型.

string ,boolean, number, undefined, function, object

引用JavaScript的方式:

1.直接写在html5标签中

2.写在JavaScript标签里

3.引入外部js

例举3种强制类型转换和2种隐式类型转换?

强制:(parseInt,parseFloat,number)
隐式:(== ===)

”和“=”的不同

前者会自动转换类型,再判断是否相等
后者不会自动类型转换,直接去比较

如何判断一个变量的值是否为数字?以及有哪些手段判断变量值的数据类型?

全局函数isNaN可以判断一个变量的值是否为数字。
可以使用运算符type、instanceof判断变量值的数据类型。

如何区分数组和对象?

(1)从原型入手,Array.prototype.isPrototypeOf(obj); 利用isPrototypeOf()方法,判定Array是不是在obj的原型链中,如果是,则返回true,否则false。Array.prototype.isPrototype([]) //true
(2)也可以从构造函数入手,利用对向的constructor属性
(3)根据对象的class属性(类属性),跨原型链调用toString()方法。Object.prototype.toString.call(Window);
(4)Array.isArray()方法。

split() join() 的区别

前者是将字符串切割成数组的形式,后者是将数组转换成字符串

数组方法pop() push() unshift() shift()

push()尾部添加

pop()尾部删除

unshift()头部添加

shift()头部删除

call和apply的区别

①apply()函数有两个参数:第一个参数是上下文,第二个参数是参数组成的数组。如果上下文是null,则使用全局对象代替。

Object.call(this,obj1,obj2,obj3)

②call()的第一个参数是上下文,后续是实例传入的参数序列。

Object.apply(this,arguments)

JavaScript中的系统函数:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值