一、单选题(共30题,每题2分)
1.闭包的好处说法不对的
A 缓存变量
B 防止命名冲突
C 可能造成内存泄露
D 减少内存使用率
解析:
无
2.不能进行强制类型转化的为
A parseInt
B parseFloat
C Number
D Math.floor
正确答案: D
3.alert(username);var username=“leson”;结果为
A undefined
B leson
C null
D 报错
正确答案: A
解析:
变量提升,预解析
4.不属于常见23种设计模式
A 单例
B MVC
C 观察者
D 策略
正确答案: B
5.以下哪一个不是常见的设计模式
A 单例模式
B 代理模式
C 飞行模式
D 观察者模式
正确答案: C
解析:
飞行模式,手机里才有的模式!!
6.有代码 var name = ‘global’; var obj = { name : ‘obj’, dose : function(){ this.name = ‘dose’; return function(){ return this.name; } } } console.log(obj.dose().call(this)); 问在控制台打印的结果为
A global
B obj
C dose
D undefined
正确答案: A
解析:
obj.dose().call(this)
obj.dose()返回的是函数function(){ return this.name; }
call(this)是调用了函数function(){ return this.name; } 并且使用window改变了函数中的this,所有this.name就是window.name
7.下列哪一项不是jquery进行文档操作的方法
A append()
B inner()
C wrap()
D clone()
正确答案: B
解析:
inner() 不是
8.关于jquery插件,描述错误的是
A 使用jquery插件可以提高开发效率
B jquery插件可以通过jquery对象调用
C jquery插件无法实现链式调用
D jquery插件一般都需要考虑参数设置问题
正确答案: C
解析:
只要返回值是jq中的对象,就可以链式调用
9.以下不是闭包特点的是
A 函数嵌套函数
B 函数内部可以引用外部的参数和变量
C 参数和变量不会被垃圾回收机制回收
D 返回的函数可以不用存储在外部变量中
正确答案: D
解析:
返回的函数必须存储在外部变量中
10.以下函数执行的结果是 function fun1(x) { if(x>2){ return (fun1(x-1)+fun1(x-2)); }else{ return 1; } } console.log(fun1(10));
A 50
B 52
C 55
D 60
正确答案: C
解析:
这是一个回调函数的使用
11.以下程序最后计算的结果是 function fun1(){ var sum=1; return function(){ sum++; return sum; } } var fun2=fun1(); console.log(fun2()); console.log(fun2());
A 1,1
B 1,2
C 2,3
D 2,2
正确答案: C
解析:
这是闭包的使用
12.函数使用return不能返回以下哪一个
A 函数
B 对象
C 数值
D for循环
正确答案: D
解析:
函数只能返回数据不能返回循环
13.下列代码输出的结果是 var a; var a = [1,2,3]; function a(a){ a[1] = 5; } a(a); console.log(a);
A [1,2,3]
B [1,5,3]
C 报错
D undefined
正确答案: C
解析:
14.var obj = {1 : 1};
var arr = [1,1];
console.log(obj + arr);
A 1
B 2
C [object Object]1,1
D 1,1[object Object]
正确答案: C
解析:
无
15.下列箭头函数书写正确的是
A 0–{}
B a,b => {}
C _ =>
D caller
正确答案: C
解析:
16.在构造函数中,可以在一个属性后添加方法,该属性为
A _prototype_
B prototype
C proto
D __prototype__
正确答案: B
解析:
17.关于设计模式,下面哪个是错误的
A 工厂方法模式
B 路由器模式
C 策略模式
D 观察者模式
正确答案: B
解析:
无
18.下面哪种不是jquery的选择器
A 基本选择器
B 后代选择器
C 类选择器
D 进一步选择器
正确答案: D
解析:
无
19.以下哪个方法不能发起异步请求
A $.get()
B $.post()
C $.json()
D $.ajax()
正确答案: C
解析:
A、B、D均是jquery类本身的异步请求方法
C选择项中的$.json()为干扰项,无此用法
20.关于jQuery框架,下列描述错误的是
A jQuery框架支持链式写法
B jQuery框架实现了跨浏览器的兼容包括IE低版本
C jQuery1.x版本支持低版本IE浏览器
D jQuery不能操作CSS3属性
正确答案: D
解析:
jQuery可以操作css3属性
21.下列哪个方法不能改变函数内部this的指向
A bind
B change
C apply
D call
正确答案: B
解析:
bind call apply均可改变this指向,注意使用的区别
22.jQuery中的delay方法的作用是
A 停止动画执行
B 暂停动画执行
C 延迟动画执行
D 开始动画执行
正确答案: C
解析:
识记题
23.关于call和apply的说法,错误的是
A call的第一个参数和apply的第一个参数一样
B call的第二个参数到最后一个参数是函数本身的参数
C 关于第二个参数,call可以写arguments,而apply则不可以
D call和apply的功能是一样的,唯一的区别是格式上的区别
正确答案: C
解析:
call的参数为参数列表,apply的参数为数组,可以用arguments表示
24.什么是闭包
A 闭包是指有权访问另一个函数作用域中的变量的函数
B 闭包是指有权访问任意函数作用域中的变量的函数
C 闭包是指有权访问全局个函数作用域中的变量的函数
D 闭包是指有权访问局部个函数作用域中的变量的函数
正确答案: A
解析:
概念题
25.原型的概念
A 每声明一个function,都有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
B 每声明一个对象,都有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
C 每声明一个function,都有__proto___原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
D 每声明一个function,都没有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
正确答案: A
解析:
原理题,每一个函数都有一个原型对象prototype
26.$(document).ready()和window.onload 有什么区别
A window.onload方法是在网页中所有的元素完全加载到浏览器后才执行,$(document).ready() 可以在DOM载入就绪是就对其进行操纵
B 没有区别
C $(document).ready()
方法是在网页中所有的元素完全加载到浏览器后才执行,$(document).ready()
可以在DOM载入就绪是就对其进行操纵
D 两者作用不一样
正确答案: A
解析:
onload包含文档和资源加载完毕
ready指文档加载完毕
27.一个php后缀的文件,可以在什么环境下执行()
A mysql数据库
B 浏览器
C Apache服务器
D Windows系统
正确答案: C
解析:
无
28.同步和异步执行分别表示什么含义()
A 按顺序依次执行和同时分开执行
B 同时分开执行和按顺序依次执行
C 按一致的速度执行和按不同的速度执行
D 按相同的步骤执行和按不同的步骤执行
正确答案: A
解析:
生活中的同步和代码中的不一样
29.HTTP协议的默认端口号是多少?( )
A 8080
B 8888
C 80
D 3306
正确答案: C
解析:
30.以下运行的结果是false的是 function Box(){this.name=‘zhang’;} function Desk(){this.age=100;} function Table(){this.lever=1000} Desk.prototype=new Box();//通过原型链继承 var desk=new Desk(); var table=new Table();
A alert(table instanceof Object)
B alert(desk instanceof Box);
C alert(Desk instanceof Box);
D alert(desk instanceof Desk );
正确答案: C
解析:
A. 一切事物皆对象
B. Dest 继承了 Box, 所以正确
C. Desk 是 Function的实例,和Box无关
D. desk 是 Desk 的实例
二、多选题(不定项选择)(共20题,每题2分)
1.js创建对象的方式有下面哪几种
A 可以通过json方式创建对象
B 可以通过new 关键字创建对象
C 可以通过函数调用方式创建对象
D 对象不可以通过函数的调用方式创建
正确答案: A,B,C
解析:
2.下面关于构造函数的优点,描述正确的有哪些
A 构造函数可以通过new关键字创建对象,对象的创建比较规范
B 构造函数只能创建一个对象
C 可以解决多个同类对象创建时,代码重复的问题
D 构造函数创建的对象,创建出的对象是相等关系
正确答案: A,C
解析:
无
3.关于call,apply,bind方法,下列说法正确的是
A 三者都可以用于继承
B 三者都可以改变this指向
C 三者参数传递一样
D 三者调用方式一样
正确答案: A,B
解析:
三者都可以改变this,所有都可以是 实现继承(构造函数继承的原理是改变函数的this)
4.svn在进行版本管理时,可以实现的功能有
A 更新至某个指定的版本
B 对某个文件进行锁定
C 创建多个分支
D 对某个文件解除版本控制
正确答案: A,B,C,D
解析:
四个选项都是svn可以实现的
5.jquery中移除jquery对象的方法有
A remove
B detach
C empty
D clear
正确答案: A,B,C
解析:
前三个都可以,clear不行
6.以下说法错误的是
A 对象一般存储在栈中
B 对象是类的实例化
C 类是对象的实例化
D 类不可以继承
正确答案: A,C,D
解析:
无
7.对象设置属性和属性值的方法正确的是
A obj.name=3
B obj[“name”]=3
C obj{name} = 3
D Obj->name=3;
正确答案: A,B
解析:
无
8.下列哪种属于设计模式
A 单例模式
B 观察者模式
C mvc
D mvvm
正确答案: A,B
解析:
9.构造函数可以创建对象执行的过程是
A 当使用了构造函数,并且new 构造函数(),那么就后台执行了new Object()
B 将构造函数的作用域给新对象,(即new Object()创建出的对象),而函数体内的this 就代表new Object()出来的对象
C 执行构造函数内的代码
D 返回新对象(后台直接返回)
正确答案: A,B,C,D
解析:
这是构造函数运行时,内部执行的一个过程,请识记并理解
创建一个新对象,改变this指向,执行构造函数里的代码,返回这个新对象
10.案例代码如下: 请选取文本是"大字体"的div对象
A $(“div.big”);
B $(“div .big”)
C $(“div:contains(‘大字体’)”);
D $(“form > div.big”);
正确答案: A,C,D
解析:
此题考察不同选择器的用法
B选项是选取div里具有big类名(后代)的jquery对象集合
11.为什么要使用jQuery?jquery有哪些好处
A 它有强大的选择器,出色的DOM操作的封装
B 出色的浏览器的兼容性
C 完善的ajax
D 有可靠的事件处理机制
正确答案: A,B,C,D
解析:
jquery最大的特点在查询,并封装了大量的方法进行DOM操作,事件处理及ajax请求等
12.下面是设计模式的是
A 单例模式
B 观察者模式
C 测试模式
D 视图模式
正确答案: A,B
解析:
单例模式和观察者模式,是常见的设计模式
13.jq选择器有哪些
A 类
B id
C 标签
D 以上都可以
正确答案: A,B,C,D
解析:
css中的选择器都可以在jq中使用
14.在php中,下列哪些是输出(打印)函数。( )
A print
B echo
C print_r
D write
正确答案: A,B,C
解析:
无
15.前后端开发过程中,解决跨域的方法有那些。( )
A 后端代理
B jsonp
C xhr2
D ajax
正确答案: A,B,C
解析:
无
16.下面哪些是mysql的常用数据类型( )
A varchar
B int
C float
D text
正确答案: A,B,C,D
解析:
无
17.Jq中关于dom 增删改的操作有
A append
B appendTo
C remove
D detach
正确答案: A,B,C,D
解析:
几个都是dom操作的方法
18.下面可以实现继承的有
A 构造函数继承
B Object.create()
C 原型链继承
D es6 extends
正确答案: A,B,C,D
解析:
前三种是es5中继承,最后一个是es6的继承
19.引起跨域的情况有哪些.( )
A 域名不同
B 端口不同
C 同一域名,不同协议。
D 同一域名,同一端口,同一协议
正确答案: A,B,C
解析:
同源策略: 相同域名、端口号、传输协议
20.执行这个程序后打印的结果forEach=function (arr,fn) { for(var i=0,l=arr.length;i A 0 10 B 3 7 C 2 4 D 5 5 正确答案: A,B,D