怎么去学好Web前端技能 JS面试题及答案有哪些

本文探讨了如何学好Web前端的JavaScript技能,重点解析了JavaScript数据类型的面试题目及其答案。内容涵盖JavaScript弱类型特性理解、强制类型转换规则、何时发生何种转换、数组与对象类型的判断以及toString与String方法的区别。熟练掌握这些知识点对于提升JavaScript能力至关重要。
摘要由CSDN通过智能技术生成

  怎么去学好Web前端技能?JS面试题及答案有哪些?很多企业在招聘时都会考察求职者对JavaScript的掌握,其中数据类型是重点。JavaScript中有七种内置数据类型,包括基本类型和对象类型。在面试官提问时他们不会直接考察具体有哪些类型,而是迂回提问,重点考察你的综合理解。接下来就给大家分享JavaScript数据类型相关的面试题及答案。

image/20191230/60d85d46856caddb265fcc792e748229.jpeg

  1、说说你对JavaScript是弱类型语言的理解?

  JavaScript是弱类型语言,而且JavaScript声明变量的时候并没有预先确定的类型,变量的类型就是其值的类型,也就是说变量当前的类型由其值所决定。夸张点说上一秒种的String,下一秒可能就是个Number类型,这个过程可能就进行了某些操作发生了强制类型转换。虽然弱类型的这种不需要预先确定类型的特性给我们带来了便利,同时也会给我们带来困扰。为了能充分利用该特性就必须掌握类型转换的原理。

  2、JavaScript中强制类型转换是一个非常易出现bug的点,知道强制转换时候的规则吗?

  ToPrimitive(转换为原始值)转成何种原始类型,取决于type,type参数可选,若指定,则按照指定类型转换,若不指定,默认根据实用情况分两种情况,Date为string,其余对象为number。

  Number运算符转换规则:null转换为0,undefined转换为NaN,true转换为1,false转换为0,字符串转换时遵循数字常量规则,转换失败返回NaN。

  String运算符转换规则:null转换为'null',undefined转换为undefined,true转换为'true',false转换为'false',数字转换遵循通用规则,极大极小的数字使用指数形式。

  ToBoolean运算符转换规则:undefined、null、-0、0或+0、NaN、''(空字符串)转换结果为false,其他全部为true。

  3、在什么情况下发生什么样的转换?

  什么时候自动转换为string类型?1)在没有对象的前提下;2)当有对象且与对象+时候。

  什么时候自动转换为Number类型?1)有加法运算符,但是无String类型的时候;2)除了加法运算符,其他运算符都会把运算自动转成数值。注意:null转为数值时为0,而undefined转为数值时为NaN。

  什么时候进行布尔转换?1)布尔比较时;2)if(obj),while(obj)等判断时或者三元运算符只能够包含布尔值。

  4、怎么判断一个值到底是数组类型还是对象?

  1)通过typeof操作符来判断一个值属于哪种基本类型。

  2)通过instanceof操作符也可以对对象类型进行判定,其原理就是测试构造函数的prototype是否出现在被检测对象的原型链上。

  5、toString和String的区别是什么?

  1)toString()可以将数据都转为字符串,但是null和undefined不可以转换。

  2)toString()括号中可以写数字,代表进制,如二进制:.toString(2)。

  3)String()可以将null和undefined转换为字符串,但是没法转进制字符串。

  熟练掌握JavaScript,你就具备了学好Web前端的前提。如果你想了解更多的Web前端相关技能,可以进行系统的学习进阶,为自己创造职场高起点!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值