一、单选题
- 不能进行强制类型转化的为
A parseInt
B parseFloat
C Number
D Math.floor
正确答案: D
解析: Math.floor是向下取整
- 不属于同源策略限制条件的
A 端口
B 协议
C 域名
D 网址
正确答案: D
解析:无
- alert(username);
var username=“leson”;
结果为
A undefined
B leson
C null
D 报错
正确答案: A
解析:变量提升,预解析
- Jq中找到指定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
- jquery对象转换成原生DOM对象的方法是
A index()
B get()
C eq()
D find()
正确答案: B
解析:$('div').get(0)获取原生dom元素
- 有代码 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
- 关于jquery插件,描述错误的是
A 使用jquery插件可以提高开发效率
B jquery插件可以通过jquery对象调用
C jquery插件无法实现链式调用
D jquery插件一般都需要考虑参数设置问题
正确答案: C
解析:只要返回值是jq中的对象,就可以链式调用
- 下面程序返回的值是 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
解析:这是一个单例的使用
- 以下不是闭包特点的是
A 函数嵌套函数
B 函数内部可以引用外部的参数和变量
C 参数和变量不会被垃圾回收机制回收
D 返回的函数可以不用存储在外部变量中
正确答案: D
解析:返回的函数必须存储在外部变量中
- 函数的length属性是
A 函数的行数
B 函数的参数个数
C 函数的返回个数
D 永远是0
正确答案: B
解析:函数的length是参数的个数
- arguments对象是
A 函数中的参数
B 函数中参数的数组
C 函数中含有参数的伪数组对象
D 空
正确答案: C
解析:参数数组
- JS中,下面哪个不是创建函数的方式
A 声明函数
B 函数表达式
C Function构造函数
D class函数
正确答案: D
解析:无
- 下面一段代码,请问,输出结果是 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
解析:延时器和循环是异步,同时执行 延时器把循环两次的值全部存了起来 循环结束 取到两个3,此处如果是用let声明变量 此处应选A选项
- 在ES6(2015)中,哪个是原先没有的名词
A 函数
B 类
C 递归
D 过程
正确答案: B
解析:无
- jQuery中的delay方法的作用是
A 停止动画执行
B 暂停动画执行
C 延迟动画执行
D 开始动画执行
正确答案: C
解析:识记题
- jQuery哪个方法可以清空对象内所有的子元素
A remove()
B removeAll()
C deleteAll()
D empty()
正确答案: D
解析:remove()将自身及子元素移除empty()清空所有子元素,包括文本节点
- 什么是闭包
A 闭包是指有权访问另一个函数作用域中的变量的函数
B 闭包是指有权访问任意函数作用域中的变量的函数
C 闭包是指有权访问全局个函数作用域中的变量的函数
D 闭包是指有权访问局部个函数作用域中的变量的函数
正确答案: A
解析:概念题
- 原型的概念
A 每声明一个function,都有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
B 每声明一个对象,都有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
C 每声明一个function,都有__proto___原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
D 每声明一个function,都没有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
正确答案: A
解析:原理题,每一个函数都有一个原型对象prototype
- 混合继承是
A 混合了构造函数继承和原型链继承
B 其它都不对
C 混合了es6继承和原型链继承
D 混合了构造函数继承和es6继承
正确答案: A
解析:概念题
$
(document).ready()和window.onload 有什么区别
A window.onload方法是在网页中所有的元素完全加载到浏览器后才执行,$
(document).ready() 可以在DOM载入就绪是就对其进行操纵
B 没有区别
C$
(document).ready()方法是在网页中所有的元素完全加载到浏览器后才执行,$(document).ready() 可以在DOM载入就绪是就对其进行操纵
D 两者作用不一样
正确答案: A
解析:onload包含文档和资源加载完毕ready指文档加载完毕
jq中发起添加类名的方法是
A ajax
B addClass
C getClass
D setClass
正确答案: B
解析:识记题
- jq中实现动画的方法是
A $.animate
B $().animate
C animate
D $.startMove
正确答案: B
解析:animate()是jQuery实例方法,调用示例:
$("div").animate();
- es6继承的语法
A class
B class extends
C class.prototype
D class extend
正确答案: B
解析:语法题 例如 class A extends B{}
- 在用浏览器查看网页时出现404错误可能的原因是 ( ) 代表网页不存在没有找到文件
A 页面源代码错误
B 文件不存在
C 与数据库连接错误
D 权限不足
正确答案: B
解析:无
- 同步和异步执行分别表示什么含义()
A 按顺序依次执行和同时分开执行
B 同时分开执行和按顺序依次执行
C 按一致的速度执行和按不同的速度执行
D 按相同的步骤执行和按不同的步骤执行
正确答案: A
解析:生活中的同步和代码中的不一样
- HTTP协议的默认端口号是多少?( )
A 8080
B 8888
C 80
D 3306
正确答案: C
解析:无
- function People(name, age) { this.name = “xixi”, this.age = 18 return {} } var obj = new People(); People 函数被new调用之后的返回值(obj)是?
A {}
B {name: “xixi” age: 18}
C 报错
D 函数体本身
正确答案: A
解析:return 对象比实例返回优先级更高
- 以下运行的结果是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 的实例
二、多选题
- 面关于构造函数的优点,描述正确的有哪些?
A 构造函数可以通过new关键字创建对象,对象的创建比较规范
B 构造函数只能创建一个对象
C 可以解决多个同类对象创建时,代码重复的问题
D 构造函数创建的对象,创建出的对象是相等关系
正确答案: A,C
解析:无
- 下面哪些关键字不可以实现删除实例属性?
A delete
B has
C instanceof
D add
正确答案: B,C,D
- 以下说法正确的是?
A 类是对象的抽象化
B 对象是类的具象化
C 对象是类的实例化
D 对象就是类
正确答案: A,B,C
解析:在js中,类是构造函数
- 以下哪些是设计模式?
A 单例模式
B 观察者模式
C 工厂模式
D 原型模式
正确答案: A,B,C,D
解析:无
- 对象设置属性和属性值的方法正确的是?
A obj.name=3
B obj[“name”]=3
C obj{name} = 3
D Obj->name=3;
正确答案: A,B
解析:无
- jquery中获取对象的方式正确的是?
A $()
B jQuery()
C jquery()
D $jQuery()
正确答案: A,B
- 获取
<div id="content">
内容</div>
标签里的文本内容
A $("#content").val();
B $("#content").html();
C $("#content").text();
D $("#content").innerHTML();
正确答案: B,C
解析:
val()获取表单元素
value值的html()获取元素内容的,包含html结构
text()获取元素文本内容的
innerHTML是原生DOM对象的属性,无此方法
- 关于prototype原型和原型链说法正确的是
A Javascript的继承机制基于原型,而不是Class类
B 凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象
C 普通对象没有prototype,但有__proto__属性
D prototype属性(对象)会默认获得一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针
正确答案: A,B,C,D
解析:概念题 ABCD均对
- 闭包的特点
A 函数嵌套函数
B 函数内部可以引用外部的参数和变量
C 函数内部只能引用内部的参数和变量
D 函数必须有返回值
正确答案: A,B,C,D
解析:jquery最大的特点在查询,并封装了大量的方法进行DOM操作,事件处理及ajax请求等
- 下面是设计模式的是
A 单例模式
B 观察者模式
C 测试模式
D 视图模式
正确答案: A,B
解析:单例模式和观察者模式,是常见的设计模式
- jq选择器有哪些?
A 类
B id
C 标签
D 以上都可以
正确答案: A,B,C,D
解析:css中的选择器都可以在jq中使用
- 在php中,下列哪些是输出(打印)函数。( )
A print
B echo
C print_r
D write
正确答案: A,B,C
解析:无
- 前后端开发过程中,解决跨域的方法有那些。( )
A 后端代理
B jsonp
C xhr2
D ajax
正确答案: A,B,C
解析:无
- jquery绑定事件的方法有
A one
B bind
C addEvent
D on
正确答案: A,B,D
解析:addEvent不是一个事件
- 关于jQuery的优点说法正确的是
A 最少的代码做多的事情
B 性能支持比较好
C 节约学习成本
D 让DOM操作变的简单
正确答案: A,B,C,D
解析:无
- 下面是jquery方法的是
A $(".box").attr()
B $(".box").css()
C $(".box").remove()
D $(".box").html()
正确答案: A,B,C,D
解析:无
- Jq中关于dom 增删改的操作有
A append
B appendTo
C remove
D detach
正确答案: A,B,C,D
解析:几个都是dom操作的方法
- jq中关于操作元素节点class属性的操作有
A addClass
B removeClass
C attr(“class”, “box”)
D setClass
正确答案: A,B,C
解析:A是添加类名
B是删除类名
C是切换类名
- 执行这个程序后打印的结果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
解析:无