一、简答题
1. Javascript的组成?
ECMAScript
核心语法规则DOM
对文档节点的操作BOM
对浏览器的操作
2. Javascript可以运行在什么地方?
Node
环境下或浏览器
中。
3. Javascript基本数据类型有哪些
undefined
null
number
string
boolean
在JS中除了以上基本数据类型,其他所有类型都可以归结为引用数据类型
。比如 Object
、Symbol
等。
4. Javascript中的内置对象以及函数有哪些?
对象:Math
、Location
、History
、document
函数:Array
、Object
、Date
、String
、Number
、Boolean
、RegExp
…
5. 请写出10个数组实例可以调用的方法
slice()
splice()
join()
toString()
sort()
concat()
reverse()
push()
pop()
shift()
unshift()
forEach()
some()
every()
filter()
map()
6. 请写出10个字符串实例可以调用的方法
split()
toLowerCase()
toUpperCase()
indexOf()
lastIndexOf()
replace()
charAt()
trim()
match()
substr()
substring()
7. 请写出Math中常见的5个方法
ceil()
floor()
random()
Max
Min
abs()
toString()
tan()
sin()
cos()
8. 函数的调用方法有几种?
test()
test.call(this,参数列表)
test.apply(this,参数数组)
test.bind(this)(参数列表)
test.bind(this,参数列表)()
9. 解释什么是arguments
每个函数的内部都有一个局部变量arguments
,是类数组对象,包含着传入函数中参数,arguments
对象还有一个callee
的属性,用来指向拥有这个arguments
对象的函数。
10.== 与 ===的区别
==
比较值
===
比较类型和值 如果类型不一致,直接返回false
11.简述DOM与jquery关系
DOM
是文档对象模型,在js中提供了原生的DOM API
。
jQuery
封装了DOM
操作。
12.简述事件流与事件冒泡
事件流
:指从页面中接收事件的顺序,有冒泡流和捕获流。
事件流
是事件执行的顺序,在IE底下是事件冒泡
,在非IE底下是事件捕获
。
事件冒泡
是:当子元素与父元素都绑定了同一个事件的时候,触发了子元素的事件之后,先执行子元素的事件处理程序,再冒泡执行父元素的事件处理程序。
13.简述事件绑定方法,并讨论兼容性
HTML
绑定,无兼容性问题
DOM0级
绑定,无兼容性问题
DOM2级
绑定 :
- 在
非IE8及以下
,使用addEventListener(type,handle)
- 在
IE8及以下
,使用attachEvent('on'+type,handle)
14.如何理解DOM对象的事件默认行为?
有的DOM
对象有默认的行为,比如点击a标签
跳转,这就是a标签
在点击之后的默认行为
。
15.在非IE浏览器,如何取消事件默认行为?如何取消事件冒泡?如何获取事件处理程序当前正在处理事件的那个元素
event.preventDefault()
event.stopPropagation()
event.currentTarget
this
16.我们为一个dom对象绑定了一个事件处理函数,请问谁来调用这个事件处理函数?
这个dom
对象来调用这个事件处理函数。
17.简述事件代理机制?
给父元素
绑定事件,在相应子元素
的时候触发。
18.目前为止,我们学过html、css、js、jquery、bootstrap简述这些技术的作用和技术之间的关联性?
html
页面结构js
页面动作行为jQuery
封装了js
中的DOM操作
和Ajax技术
bootstrap
封装了html
、css
、js
、jQuery
19.谈谈你对于原型链的理解?
js
通过原型链来继承,在原型链中的方法,实例可以调用。
20.简述Ajax机制以及原生Ajax的实现机制
Ajax是前后端数据交互的技术
Ajax
机制:建立连接
,发送数据
,等待响应
,如果成功,获取返回值
,如果失败,获取失败信息
。
eg :
var xhr = new XMLHttpRequest();
xhr.open(method,url,true);
xhr.send(data);
xhr.onreadystatechange = function () {
// 这步为判断服务器是否正确响应 xhr.readyState == 4 响应完成
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText);
}
};
21. 如何理解跨域
A网站的javascript代码试图访问B网站。
不同域之间的访问就是跨域
22. 是否使用过github? 你熟悉的git命令有哪些?
git init
在当前目录新建一个Git代码库git clone [url]
下载一个项目和它的整个代码历史git add
添加文件到暂存区git commit -m [message]
提交暂存区到仓库区git status
提交暂存区到仓库区
23. 写出10个你用过的linux命令并解释该命令的含义
ls
展示目录内的内容cd ..
打开上一级cd [目录]]
切换目录,当目录为空的时候表示进入到家目录mkdir
创建目录