一、简答题
ECMAScript DOM BOM
Node 浏览器
String Boolean NUll NUmber undefined
Math document Location History
函数:Object Array Date Number String Boolean RegExp
5.Javascript对象、函数、数组的定义
对象:无序属性的集合,其属性可以包含基本值,对象或函数等
函数:封装特定的功能,在需要时调用
数组:存放任何数据类型的数据的集合
1:对象字面量 var obj={} 构造函数 var obj=new Object()
2:函数声明 function name(){},函数表达式 var fn=function(){}
3:var arr=[]; var arr=new Array()
6.obj1={name:‘lisi’}; obj2=obj1; obj3={name:‘lisi’},说明它们三者之间的关系
obj1===obj2 true
obj1==obj3 false
obj2==obj3 fasle //引用数据类型,比较内存地址
请写出10个数组实例可以调用的方法
push pop shift unshift slice() splice(begin,deleteCount,…) forEach map every some filter()
请写出10个字符串实例可以调用的方法
indexOf() lastIndexOf() split(",") trim() substr() substring(begin,end) [1,3) concat() charAt() charCodeAt()
slice()
请写出Math中常见的5个方法
max() min() floor() ceil() random() round() tan() sin() cos() abs()
函数的调用方法有几种?
1.test()
2.test.call(this,参数列表)
3.test.apply(this,参数数组)
解释什么是arguments
类数组对象,存放实参的地方
12.== 与 ===的区别
==是指值相等,===是值和数据类型都想相等
13.typeof的返回值有哪些
typeof检查变量的数据类型
number string boolean undefined Object function
(null返回object)
14.简述事件流与事件冒泡
事件流:描述的是从页面中接受事件的顺序
事件捕获:不太具体的节点更早接受事件,具体节点到最后接受事件(从外到里)
事件冒泡:时间开始有最具体的元素接受,然后逐级向上传播到不具体的节点(从里到外)
15.简述事件绑定方法
普通绑定
事件源.οnclick=funtion(event){
}
addEventListener(‘事件类型’,funtion(){})
attachEvent(‘事件类型’,funtion(){})
16.如何理解DOM对象的事件默认行为?
a form
17.DOM中怎样追加、插入、移除、复制和获取节点(写出方法名即可)
appendChild() insertBefore() removeChild() cloneNode()
TagName() ‘li’
ClassName() ‘one’
Id()
18.我们为一个dom对象绑定了一个事件处理函数,请问谁来调用这个事件处理函数?
dom对象
19.简述事件代理机制?
为父元素绑定事件,由子元素触发
20.目前为止,我们学过html,css,js,jquery,bootstrap简述这些技术的作用和技术之间的关联性?
html搭建页面框架,css修饰页面,js增加事件
21.谈谈你对于原型链的理解?
原型链中的方法,实例都可以调用
22.javascript的迭代方法有哪些
forEach map some every filter
23.举例说明值传递和引用传递的区别
var a={age:12}
var b=a;
b.age++
console.log(a);
是否使用过github? 你熟悉的git命令有哪些(至少5个)?
git add /status/commit/push/pull
是否使用过阿里云,你使用的云服务器的操作系统是?写出10个你用过的linux命令并解释该命令的含义。
例如:
声明 $表示为linux操作系统的终端标识
$ cd [目录]] 切换目录,当目录为空的时候表示进入到家目录
…
mkdir 创建目录
touch 创建文件
cp
mv
rm
rmdir
ls
ls -a
ls -l
ls -h
ls -al
vi
vim
sudo
su
二、编程题
数组去重
例如:
var arr = [1,2,3,4,5,3,4,6,8,1];
编写程序去除数组内重复的值得到如下结果
arr = [1,2,3,4,5,6,8]
var arr = [1,2,3,4,5,3,4,6,8,1];
function test(arr){
var newArr=[];
for(var i=0;i
参数为:
var arr = [{
name:‘math’,
commit_time:100,
pass_time:90
},{
name:‘algorithm’,
commit_time:10,
pass_time:8
},{
name:‘string’,
commit_time:50,
pass_time:1
},{
name:‘dp’,
commit_time:100,
pass_time:50
}]
输出格式参照:
var result = [{
name:‘algorithm’,
level:3
},{
name:‘dp’,
level:4
},{
name:‘math’,
level:3
},{
name:‘string’,
level:5
}]
newArr=[1,2,3,4,5];
var arr = [{
name:'math',
commit_time:100,
pass_time:90
},{
name:'algorithm',
commit_time:10,
pass_time:8
},{
name:'string',
commit_time:50,
pass_time:1
},{
name:'dp',
commit_time:100,
pass_time:50
}]
function test2(arr){
var newArr=[];
arr.forEach(function (item,index){
var obj={
name:item.name
}
var num=item.pass_time/item.commit_time;
if(num>=0&&num<=0.3){
var level=5;
}else if(num>0.3&&num<=0.6){
level=4;
}else if(num>0.6&&num<=1){
level=3;
}
obj.level=level;
newArr.push(obj)
})
newArr.sort(function (a,b){
if(a.name
var arr=[1,2,3,4,5,3,4,6,8,1];
var result=arr.reverse();
console.log(result);
var arr=[8,19,3,12,5,4,2,3,7,6,9];
var result=arr.sort(function(a,b){
if(a>b){
return 1;
}else{
return -1;
}
})
console.log(result);
Document
- first
- second
- third
- four
- fifth