JavaScript 面试题

单选题

1.ES5中不能实现继承的关键字
A prototype
B call
C apply
D extends
正确答案: D
解析:无
2.

Jquery中找到指定div元素id为user错误的
A  $("#user")
B  $("#"+"user")
C  $("div[id=user]")
D  $("div[id==user]")
正确答案: D
解析:元素获取
有代码 
function Foo(){}; 
var foo = new Foo(); 
下列表达式运算结果为true的选项为
A  Foo.prototype == Foo.__proto__
B  foo.prototype == Foo.__proto__
C  foo.__proto__ == Foo.prototype
D  foo.__proto__ == Foo.__proto__
正确答案: C
解析:foo.__proto__ == Foo.prototype
实例的 __proto__属性指向的是  构造函数的prototype

4.以下哪个关键字可以实现类的继承
A inherit
B extends
C public
D interface
正确答案: B
解析:extends es6中的继承
5.jquery对象转换成原生DOM对象的方法是
A index()
B get()
C eq()
D find()
正确答案: B
解析:$(‘div’).get(0)获取原生dom元素
得分:2.0分
6.下列jquery对象方法中返回布尔值的是
A not()
B has()
C hasClass()
D fiter()
正确答案: C
解析:hasClass()有类名返回true,没有返回false
7.关于jquery插件,描述错误的是
A 使用jquery插件可以提高开发效率
B jquery插件可以通过jquery对象调用
C jquery插件无法实现链式调用
D jquery插件一般都需要考虑参数设置问题
正确答案: C
解析:只要返回值是jq中的对象,就可以链式调用
8.

下面程序返回的值是 
var obj={            
 	_instance:null,             
 	createDiv:function () {                 
 		if(!this._instance){                     
 			this._instance=document.createElement("div");                 
 		}                 
 		return this._instance;             
 	}         
 }; 
 var div1=obj.createDiv(); 
 var div2=obj.createDiv(); 
 console.log(div1===div2);
A  true
B  false
C  报错
正确答案: A
解析:这是一个单例的使用

9.以下不是闭包特点的是
A 函数嵌套函数
B 函数内部可以引用外部的参数和变量
C 参数和变量不会被垃圾回收机制回收
D 返回的函数可以不用存储在外部变量中
正确答案: D
解析:返回的函数必须存储在外部变量中
10.

以下程序最后计算的结果是 
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
解析:这是闭包的使用

11.arguments对象是
A 函数中的参数
B 函数中参数的数组
C 函数中含有参数的伪数组对象
D
空正确答案: C
解析:参数数组
得分:2.0分
12.

下列输出结果正确的是 
var a = 0;
 	var obj = { 
	fn : function(a){ 
		a = 2; a --;
  	} 
} 
obj.fn(a); alert(a);
A  0
B  1
C  2
D  报错
正确答案: A
解析:
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
解析:

14.下列箭头函数书写正确的是
A 0–{}
B a,b => {}
C _ =>
D caller
正确答案: C
解析:无
15.

下面一段代码,请问,输出结果是 
for (var i = 1; i < 3; i++) { 
	setTimeout( function timer() { 
		console.log(i); 
	}, 1000 ); 
}
A  1 2
B  1 2 3
C  3 3
D  3 3 3
正确答案: C
解析:

16.关于设计模式,下面哪个是错误的
A 工厂方法模式
B 路由器模式
C 策略模式
D 观察者模式
正确答案: B
解析:无
17.jQuery中可以使用哪个可以实现事件委托的绑定
A add
B on
C bind
D click
正确答案: B
解析:无
18.关于闭包理解,下列描述错误的是
A 闭包就是能够访问自由变量的函数
B 如果闭包使用不当,容易造成内存泄漏
C 使用闭包常见的方式有传入一个函数参数,或者返回一个函数
D 闭包函数运行结束后,其中产生的数据会随着函数的结束而自动销毁掉
正确答案: D
解析:
概念题,普通函数内的局部变量在函数调用结束后自动销毁
闭包函数运行结束后,产生的数据仍会保存在内存中
19.jQuery哪个方法可以清空对象内所有的子元素
A remove()
B removeAll()
C deleteAll()
D empty()
正确答案: D
解析:remove()将自身及子元素移除
empty()清空所有子元素,包括文本节点
20.什么是闭包
A 闭包是指有权访问另一个函数作用域中的变量的函数
B 闭包是指有权访问任意函数作用域中的变量的函数
C 闭包是指有权访问全局个函数作用域中的变量的函数
D 闭包是指有权访问局部个函数作用域中的变量的函数
正确答案: A
解析:概念题
21.混合继承是
A 混合了构造函数继承和原型链继承
B 其它都不对
C 混合了es6继承和原型链继承
D 混合了构造函数继承和es6继承
正确答案: A
解析:概念题
22.

jquery中实现动画的方法是
A  $.animate
B  $().animate
C  animate
D  $.startMove
正确答案: B
解析:animate()是jQuery实例方法,调用示例:$("div").animate()
jquery中设置样式的方式是
A  $().style
B  $().css
C  $.css
D  $.style
正确答案: B
解析:识记题 示例$("div").css("color","red");

24.php定义变量正确的是
A var a = 5;
B $a = 10;
C int b = 6
D var $a = 12;
正确答案: B
解析:无
25.在用浏览器查看网页时出现404错误可能的原因是 ( ) 代表网页不存在没有找到文件
A 页面源代码错误
B 文件不存在
C 与数据库连接错误
D 权限不足
正确答案: B
解析:无
26.php的源码是( ) 开源语言
A 开放的
B 封闭的
C 需购买的
D 完全不可见的
正确答案: A
解析:无
27.一个php后缀的文件,可以在什么环境下执行()
A mysql数据库
B 浏览器
C Apache服务器
D Windows系统
正确答案: C
解析:无
28.同步和异步执行分别表示什么含义()
A 按顺序依次执行和同时分开执行
B 同时分开执行和按顺序依次执行
C 按一致的速度执行和按不同的速度执行
D 按相同的步骤执行和按不同的步骤执行
正确答案: A
解析:生活中的同步和代码中的相反
29.

下面函数运行的结果是 
function fn6(fn) {    
	return fn(3,5); 
} 
function fn7(a,b) {     
	return a+b; 
} 
function fn8(a,b) {     
	return a*b; 
} 
var s=fn6(fn7); 
var s1=fn6(fn8); 
console.log(s,s1);
A  3,5
B  5,3
C  8,15
D  15,8
正确答案: C
解析:这是一个回调函数的使用
以下运行的结果是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 的实例

多选题

1.下面哪些关键字不可以实现删除实例属性
A delete
B has
C instanceof
D add
正确答案: B,C,D
解析:无
2.使用new运算符生成一个实例时,需要执行的步骤有那些
A 创建一个新对象
B 改变this指向
C 执行构造函数里的代码
D 返回一个对象
正确答案: A,B,C,D
解析:当代码 new Foo(…) 执行时,会发生以下事情:
一个继承自 Foo.prototype 的新对象被创建。
使用指定的参数调用构造函数 Foo ,并将 this 绑定到新创建的对象。new Foo 等同于 new Foo(),也就是没有指定参数列表,Foo 不带任何参数调用的情况。
由构造函数返回的对象就是 new 表达式的结果。如果构造函数没有显式返回一个对象,则使用步骤1创建的对象。(一般情况下,构造函数不返回值,但是用户可以选择主动返回对象,来覆盖正常的对象创建步骤)
3.jquery中移除jquery对象的方法有
A remove
B detach
C empty
D clear
正确答案: A,B,C
解析:前三个都可以,clear不行
4.以下说法正确的是
A 类是对象的抽象化
B 对象是类的具象化
C 对象是类的实例化
D 对象就是类
正确答案: A,B,C
解析:在js中,类是构造函数
5.以下哪些是设计模式
A 单例模式
B 观察者模式
C 工厂模式
D 原型模式
正确答案: A,B,C,D
解析:无
6.jquery中获取对象的方式正确的是
A $()
B jQuery()
C jquery()
D $jQuery()
正确答案: A,B
解析:无
7.构造函数可以创建对象执行的过程是
A 当使用了构造函数,并且new 构造函数(),那么就后台执行了new Object()
B 将构造函数的作用域给新对象,(即new Object()创建出的对象),而函数体内的this 就代表new Object()出来的对象
C 执行构造函数内的代码
D 返回新对象(后台直接返回)
正确答案: A,B,C,D
解析:这是构造函数运行时,内部执行的一个过程,请识记并理解
创建一个新对象,改变this指向,执行构造函数里的代码,返回这个新对象
8.下面哪个可以改变this
A call
B bind
C apply
D test
正确答案: A,B,C
解析:call apply bind 均能改变this指向,注意用法不同
9.闭包的特点
A 函数嵌套函数
B 函数内部可以引用外部的参数和变量
C 函数内部只能引用内部的参数和变量
D 函数必须有返回值
正确答案: A,B
解析:概念题
10.下面是设计模式的是
A 单例模式
B 观察者模式
C 测试模式
D 视图模式
正确答案: A,B
解析:单例模式和观察者模式,是常见的设计模式
11.jq选择器有哪些
A 类
B id
C 标签
D 以上都可以
正确答案: A,B,C,D
解析:css中的选择器都可以在jq中使用
12.当XMLHttpRequest 对象的状态发生改变时调用 callBackMethod 函数, 下列不正确的是()
A xmlHttpRequest.callBackMethod=onreadystatechange;
B xmlHttpRequest. onreadystatechange(callBackMethod);
C xmlHttpRequest. onreadystatechange(new function(){callBackMethod });
D xmlHttpRequest. onreadystatechange= callBackMethod
正确答案: A,B,C
解析:状态发生改变,触发onreadystatechange事件, 在改属性上绑定callBackMethod事件处理程序即可
13.在php中,下列哪些是输出(打印)函数。( )
A print
B echo
C print_r
D write
正确答案: A,B,C
解析:无
14.SQL语言的数据操作语句包括下列哪些( )
A SELECT
B INSERT
C UPDATE
D DELETE
正确答案: A,B,C,D
解析:分别为查询,插入,更新,删除
15.Jquery中关于dom 增删改的操作有
A append
B appendTo
C remove
D detach
正确答案: A,B,C,D
解析:几个都是dom操作的方法
16.下面可以实现继承的有
A 构造函数继承
B Object.create()
C 原型链继承
D es6 extends
正确答案: A,B,C,D
解析:前三种是es5中继承,最后一个是es6的继承
17.Ajax的请求方式有哪些。( )
A post
B get
C method
D putx
正确答案: A,B
解析:无
18.
引起跨域的情况有哪些.( )
A 域名不同
B 端口不同
C 同一域名,不同协议。
D 同一域名,同一端口,同一协议
正确答案: A,B,C
解析:同源策略: 相同域名、端口号、传输协议
19.

执行这个程序后打印的结果
forEach=function (arr,fn) {    
	for(var i=0,l=arr.length;i<l;i++){        
		var c=arr[i];        
		if(fn.call(c,i,c)===false){            
			return false;        
		}    
	} 
}; 
function box1(index,num) {    
	console.log(index,num); 
} 
var arr=[10,9,8,7,6,5,4]; 
forEach(arr,box1)
A  0 10
B  3 7
C  2  4
D  5  5
正确答案: A,B,D
解析:

20.jquery中法可以发起ajax请求的方法有
A $.ajax
B $.get
C $.post
D $().load
正确答案: A,B,C,D
解析:识记题 $.ajax()jquery的底层封装 $.get() 封装get请求 $.getJSON()可以做跨域请求

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值