前端面试题 之 JavaScript

原创 2016年08月31日 14:42:22

参考链接:https://zhuanlan.zhihu.com/p/22222460

1.介绍js的基本数据类型
Undefined、Null、Boolean、Number、String

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怎样添加、移除、移动、复制、创建和查找节点
1
2
3
4
5
6
7
8
9
10
11
12
13
// 创建新节点
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.call() 和 apply() 的区别和作用?
apply()函数有两个参数:第一个参数是上下文,第二个参数是参数组成的数组。如果上下文是null,则使用全局对象代替。
如:function.apply(this,[1,2,3]);
call()的第一个参数是上下文,后续是实例传入的参数序列。
如:function.call(this,1,2,3);

10.如何获取UA?

function whatBrowser() { 
<span style="white-space:pre">	</span>document.Browser.Name.value=navigator.appName; 
<span style="white-space:pre">	</span>document.Browser.Version.value=navigator.appVersion; 
<span style="white-space:pre">	</span>document.Browser.Code.value=navigator.appCodeName; 
<span style="white-space:pre">	</span>document.Browser.Agent.value=navigator.userAgent; 
}

User Agent定义
     User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。一些网站常常通过判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正常显示,但通过伪装 UA 可以绕过检测。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

前端面试题 - 请编写一个JavaScript 函数toRGB,它的作用是转换CSS中常用的颜色编码

请编写一个JavaScript 函数toRGB,它的作用是转换CSS中常用的颜色编码

Web前端面试题笔记_JavaScript篇

JavaScript: 1.判断字符串是否这样组成的,第一个必须是字母,后面的可以是字母、数字、下划线,总长度为5-20。 使用正则表达式判断即可: var regStr=/^[a-zA-Z][a-z...

火遍大江南北的前端面试题[JavaScript]

火遍大江南北的前端面试题[JavaScript] JavaScript的typeof返回的数据类型a(typeof[1,2]); // object a(typeof 'string'); // st...

web前端面试题及答案 JavaScript篇

1.null和undefined的区别?1,null是一个表示”无”的对象,转为数值时为0;undefined是一个表示”无”的原始值,转为数值时为NaN。 2,null用来表示尚未存在的对象,常用...

前端面试题整理

  • 2017年10月26日 08:58
  • 548KB
  • 下载

前端面试题总结

  • 2016年09月05日 00:02
  • 322KB
  • 下载

阿里、京东、微店前端面试题

阿里、京东、微店前端面试题

前端面试题大集合

  • 2013年04月22日 08:29
  • 372KB
  • 下载

web前端面试题及答案整理(一)

web前端、HTML、CSS、JavaScript、DOM
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:前端面试题 之 JavaScript
举报原因:
原因补充:

(最多只允许输入30个字)