开发者社区> 杰克.陈> 正文

前端面试题 之 JavaScript

简介: 原文:前端面试题 之 JavaScript 昨天我们一起分享了关于html和css的面试题《前端面试题之Html和CSS》,今天我们来分享关于javascript有关的面试题。我面试的时候最害怕面试官问我js了,因为我真心不擅长这个。
+关注继续查看
原文:前端面试题 之 JavaScript

昨天我们一起分享了关于html和css的面试题《前端面试题之Html和CSS》今天我们来分享关于javascript有关的面试题。我面试的时候最害怕面试官问我js了,因为我真心不擅长这个。不过我在努力的学习中。

msJS

本宝宝第一次面试的时候比这个还紧张呢!!!

1.介绍js的基本数据类型

UndefinedNullBooleanNumberString

2.js有哪些内置对象?

数据封装类对象:Object、Array、Boolean、Number 和 String

其他对象:Function、Arguments、Math、Date、RegExp、Error

3.this对象的理解

this总是指向函数的直接调用者(而非间接调用者);

如果有new关键字,this指向new出来的那个对象;

在事件中,this指向触发这个事件的对象,特殊的是,IE中的attachEvent中的this总是指向全局对象Window;

4.eval是做什么的?

它的功能是把对应的字符串解析成JS代码并运行;

应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)。

由JSON字符串转换为JSON对象的时候可以用eval,var obj =eval(‘(‘+ str +’)’);

5.DOM怎样添加、移除、移动、复制、创建和查找节点

// 创建新节点
createDocumentFragment() //创建一个DOM片段
createElement() //创建一个具体的元素
createTextNode() //创建一个文本节点
// 添加、移除、替换、插入
appendChild()
removeChild()
replaceChild()
insertBefore() //在已有的子节点前插入一个新的子节点
// 查找
getElementsByTagName() //通过标签名称
getElementsByName() //通过元素的Name属性的值(IE容错能力较强,会得到一个数组,其中包括id等于name值的)
getElementById() //通过元素Id,唯一性

6.null和undefined的区别?

null是一个表示”无”的对象,转为数值时为0;undefined是一个表示”无”的原始值,转为数值时为NaN。
undefined:

(1)变量被声明了,但没有赋值时,就等于undefined。

(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。

(3)对象没有赋值的属性,该属性的值为undefined。

(4)函数没有返回值时,默认返回undefined。
null:

(1) 作为函数的参数,表示该函数的参数不是对象。

(2) 作为对象原型链的终点。

7.new操作符具体干了什么呢?

(1)创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。

(2)属性和方法被加入到 this 引用的对象中。

(3)新创建的对象由 this 所引用,并且最后隐式的返回 this 。

8.JSON 的了解?

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于JavaScript的一个子集。数据格式简单, 易于读写, 占用带宽小。

格式:采用键值对,例如:{‘age’:’12’, ‘name’:’back’}

9.call() 和 apply() 的区别和作用?

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

如:function.apply(this,[1,2,3]);

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

如:function.call(this,1,2,3);

10.如何获取UA?

function whatBrowser() { 
     document.Browser.Name.value=navigator.appName; 
     document.Browser.Version.value=navigator.appVersion; 
     document.Browser.Code.value=navigator.appCodeName; 
     document.Browser.Agent.value=navigator.userAgent; 
 }

明天更新一些面试比较杂乱的问题,还是老样子,大家面试有遇到什么新的问题留言给我一并记下来!让我们更多小伙伴不害怕面试。变态的面试题就不要了,因为有些面试官真心变态他不会的都拿出来!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
前端开发教程:Javascript中如何定义类?
很多新手朋友第一次建网站时候,如何选择一款适合的网站源码是比较困惑的问题,选择一款好的网站源码可以节约大量时间和金钱,但是由于网站源码参差不齐,免费的,收费的,淘宝几元钱购买的,几万块钱的都有,那么怎么看一个网站源码是否值得使用呢,下面从专业的角度来分析。
627 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20699 0
前端文件上传-javascript-ajax
书写是为了更好的记忆。
25 0
1.2w字 | 初中级前端 JavaScript 自测清单 - 1 下
1.2w字 | 初中级前端 JavaScript 自测清单 - 1 下
20 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23580 0
好程序员web前端培训之JavaScript数组去重方法
  **好程序员**web前端培训之JavaScript数组去重方法,一周学习结束,老师布置我们要写一篇技术文章,脑袋里面的第一个想法就是数组去重,在网上也百度了一下,很多公司面试的时候有很大的几率会问数组去重的问题。所以今天我就给大家分享我所用过的四种数组去重的方法。
1403 0
🚀Java后端人眼中的前端,和前端人眼中的有不一样吗?1️⃣🚀
浏览器是网页显示、运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。我们平时称为五大浏览器。
20 0
+关注
杰克.陈
一个安静的程序猿~
10425
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载