JS基础练习题及答案(五)

一、单选题(共30题,每题2分)
1.闭包的好处说法不对的
A 缓存变量
B 防止命名冲突
C 可能造成内存泄露
D 减少内存使用率
正确答案: D
解析:

2.不属于同源策略限制条件的
A 端口
B 协议
C 域名
D 网址
正确答案: D
解析:

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

4.alert(username);var username=“leson”;结果为
A undefined
B leson
C null
D 报错
正确答案: A
解析:
变量提升,预解析

5.不属于常见23种设计模式
A 单例
B MVC
C 观察者
D 策略
正确答案: B
解析:

6.有代码 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

7.有代码 var obj1={ a:[1], b:1 }; var obj2={ a:[2], c:2 }; var obj = Object.assign(obj1,obj2); 运行之后obj的结果为
A {a:[1],b:1}
B {a:[1,2],b:1,c:2}
C {a:[2],b:1,c:2}
D {a:[2],c:2}
正确答案: C
解析:
Object.assign是ES6新添加的接口,主要的用途是用来合并多个JavaScript的对象。

var target = {a : 1}; //目标对象

var source1 = {b : 2}; //源对象1

var source2 = {c : 3}; //源对象2

var source3 = {c : 4}; //源对象3,和source2中的对象有同名属性c

Object.assign(target,source1,source2,source3);

8.关于原型对象以下说法错误的是
A 每一个函数都有一个原型对象
B 每一个构造函数都有一个原型对象
C 原型对象上的属性和方法能被实例访问
D 原型对象上的属性和方法能被子类(代码里)访问
正确答案: D
解析:
原型对象上的属性和方法能被实例访问

9.执行下列程序的结果会是 var obj1=(function(){ return { a:1, b:2, fun2:function(){ console.log(this.a+this.b); } } })(); obj1.fun2();
A 3
B 4
C 1
D 2
正确答案: A
解析:

10.函数使用return不能返回以下哪一个
A 函数
B 对象
C 数值
D for循环
正确答案: D
解析:
函数只能返回数据不能返回循环

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

12.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
解析:

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

14.下面一段代码,请问,输出结果是 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
解析:

15.jQuery中可以使用哪个可以实现事件委托的绑定
A add
B on
C bind
D click
正确答案: B
解析:

16.下面哪种不是jquery的选择器
A 基本选择器
B 后代选择器
C 类选择器
D 进一步选择器
正确答案: D
解析:

17.以下哪个方法不能发起异步请求
A $.get()
B $.post()
C $.json()
D $.ajax()
正确答案: C
解析:
A、B、D均是jquery类本身的异步请求方法

C选择项中的$.json()为干扰项,无此用法

18.关于jQuery框架,下列描述错误的是
A jQuery框架支持链式写法
B jQuery框架实现了跨浏览器的兼容包括IE低版本
C jQuery1.x版本支持低版本IE浏览器
D jQuery不能操作CSS3属性
正确答案: D
解析:
jQuery可以操作css3属性

19.下列哪个方法不能改变函数内部this的指向
A bind
B change
C apply
D call
正确答案: B
解析:
bind call apply均可改变this指向,注意使用的区别

20.关于call和apply的说法,错误的是
A call的第一个参数和apply的第一个参数一样
B call的第二个参数到最后一个参数是函数本身的参数
C 关于第二个参数,call可以写arguments,而apply则不可以
D call和apply的功能是一样的,唯一的区别是格式上的区别
正确答案: C
解析:
call的参数为参数列表,apply的参数为数组,可以用arguments表示

21.求数组最小值的方式,下面正确的是
A Math.apply(arr)
B Math.call(arr)
C Math.min.apply(null,arr)
D Math.min(arr)
正确答案: C
解析:
Math.min()是求一组数的最小值,但参数不为数组

apply()能让Math.min运行且第二个参数为数组

结合在一起能求出一个数组中的最小值

22.原型的概念
A 每声明一个function,都有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
B 每声明一个对象,都有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
C 每声明一个function,都有__proto___原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
D 每声明一个function,都没有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
正确答案: A
解析:
原理题,每一个函数都有一个原型对象prototype

23.混合继承是
A 混合了构造函数继承和原型链继承
B 其它都不对
C 混合了es6继承和原型链继承
D 混合了构造函数继承和es6继承
正确答案: A
解析:
概念题

24.jq选择器的结果是什么
A 对象
B 数组
C 函数
D undefined
正确答案: A
解析:
获取到的是一个伪对象(类数组对象)

25.jQuery的美元符号有什么作用A美元符号有什么作用A美元符号只是jQuery的别名
B jQuery只是的别名C美元符号的别名C美元符号,没有用
D 美元符号$和jQuery都能使用,但是作用不一样
正确答案: A
解析:
$是jQuery的别名,为了使用方便

26.es6继承的语法
A class
B class extends
C class.prototype
D class extend
正确答案: B
解析:
语法题 例如 class A extends B{}

27.在用浏览器查看网页时出现404错误可能的原因是 ( ) 代表网页不存在没有找到文件
A 页面源代码错误
B 文件不存在
C 与数据库连接错误
D 权限不足
正确答案: B
解析:

28.同步和异步执行分别表示什么含义()
A 按顺序依次执行和同时分开执行
B 同时分开执行和按顺序依次执行
C 按一致的速度执行和按不同的速度执行
D 按相同的步骤执行和按不同的步骤执行
正确答案: A
解析:
生活中的同步和代码中的不一样

29.XMLHttpRequest 对象的 status 属性表示当前请求的 http 状态码,其中()表示正确返回。
A 200
B 301
C 500
D 404
正确答案: A
解析:
500服务器错误,301重定向,404请求资源未找到

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.以下哪条语句会产生运行错误
A var obj =()
B var obj=[]
C var obj ={}
D var obj ={[]}
正确答案: A,D
解析:

2.关于call,apply,bind方法,下列说法正确的是
A 三者都可以用于继承
B 三者都可以改变this指向
C 三者参数传递一样
D 三者调用方式一样
正确答案: A,B
解析:
三者都可以改变this,所有都可以是 实现继承(构造函数继承的原理是改变函数的this)

3.jquery中移除jquery对象的方法有
A remove
B detach
C empty
D clear
正确答案: A,B,C
解析:
前三个都可以,clear不行

4.对象设置属性和属性值的方法正确的是
A obj.name=3
B obj[“name”]=3
C obj{name} = 3
D Obj->name=3;
正确答案: A,B
解析:

5.下列哪种属于设计模式
A 单例模式
B 观察者模式
C mvc
D mvvm
正确答案: A,B
解析:

6.获取

内容
标签里的文本内容
A $("#content").val();
B $("#content").html()
C $("#content").text()
D $("#content").innerHTML()
正确答案: B,C
解析:
val()获取表单元素value值的
html()获取元素内容的,包含html结构

text()获取元素文本内容的

innerHTML是原生DOM对象的属性,无此方法

7.$(this) 和 this 关键字在 jQuery 中有何不同
A $(this) 和 this 使用上没有什么不同
B $(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法
C this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的DOM 元素
D this 可以调用 jQuery 的click() 方法
正确答案: B,C
解析:
jquery对象只能访问jquery提供的方法

原生DOM对象不能直接访问jquery方法

8.下面哪个可以改变this
A call
B bind
C apply
D test
正确答案: A,B,C
解析:
call apply bind 均能改变this指向,注意用法不同

9.为什么要使用jQuery?jquery有哪些好处
A 它有强大的选择器,出色的DOM操作的封装
B 出色的浏览器的兼容性
C 完善的ajax
D 有可靠的事件处理机制
正确答案: A,B,C,D
解析:
jquery最大的特点在查询,并封装了大量的方法进行DOM操作,事件处理及ajax请求等

10.当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事件处理程序即可

11.前后端开发过程中,解决跨域的方法有那些。( )
A 后端代理
B jsonp
C xhr2
D ajax
正确答案: A,B,C
解析:

12.下面哪些是mysql的常用数据类型( )
A varchar
B int
C float
D text
正确答案: A,B,C,D
解析:

13.SQL语言的数据操作语句包括下列哪些( )
A SELECT
B INSERT
C UPDATE
D DELETE
正确答案: A,B,C,D
解析:
分别为查询,插入,更新,删除

14.关于jQuery的优点说法正确的是
A 最少的代码做多的事情
B 性能支持比较好
C 节约学习成本
D 让DOM操作变的简单
正确答案: A,B,C,D
解析:

15.Jq中关于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
解析:
1

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值