一、单选题
- ES5中不能实现继承的关键字
A prototype
B call
C apply
D extends
正确答案: D extends //属于ES6 - 不属于常见23种设计模式
A 单例
B MVC
C 观察者
D 策略
正确答案: B
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 - 有代码 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的对象。
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,且返回目标对象
Object.assign(target, …sources)
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); - 对于js闭包的理解,以下说法错误的是
A 一个闭包就是当一个函数返回时,一个没有释放资源的栈区
B 闭包能够访问一个函数中的局部变量
C 闭包使用不当会造成内存泄露
D 闭包需定义在匿名函数里
正确答案: D
解析:闭包是函数中的函数,不一定非得在匿名函数中 - 可以通过以下哪个运算符或方法判断一个实例属于某个类
A typeof
B instanceof
C isPrototypeOf
D hasOwnProperty
正确答案: B
解析:instanceof可以判断一个实例属于某个类 - 关于原型对象以下说法错误的是
A 每一个函数都有一个原型对象
B 每一个构造函数都有一个原型对象
C 原型对象上的属性和方法能被实例访问
D 原型对象上的属性和方法能被子类(代码里)访问
正确答案: D
解析: 原型对象上的属性和方法能被实例访问 - 以下哪一个不是常见的设计模式
A 单例模式
B 代理模式
C 飞行模式
D 观察者模式
正确答案: C
解析:飞行模式,手机里才有的模式! - 有代码 function Foo(){
this.name=“test1”;
function bar(){
this.name=“test2”
};
bar();
}
Foo.name = “test3”;
var foo = new Foo(); 问foo.name的值为
A test1
B test2
C test3
D undefined
正确答案: A
解析:var foo = new Foo()
foo是是Foo的实例,所有foo.name 打印结果就是test1 - 有代码 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 append()
B inner()
C wrap()
D clone() $(selector).clone(includeEvents)
正确答案: B
解析:inner() 不是
//wrap() 方法把每个被选元素放置在指定的 HTML 内容或元素中。
//append() 方法在被选元素的结尾(仍然在内部)插入指定内容。
//clone() 方法生成被选元素的副本,包含子节点、文本和属性。 - 以下程序最后计算的结果是 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
解析:这是闭包的使用 - 函数的length属性是
A 函数的行数
B 函数的参数个数
C 函数的返回个数
D 永远是0
正确答案: B
解析:函数的length是参数的个数 - 下列输出结果正确的是 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 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 - 下列箭头函数书写正确的是
A 0–{}
B a,b => {}
C _ =>
D caller
正确答案: C - JS中,下面哪个不是创建函数的方式
A 声明函数
B 函数表达式
C Function构造函数
D class函数
正确答案: D - 在构造函数中,可以在一个属性后添加方法,该属性为
A prototype
B prototype
C proto
D prototype
正确答案: B - 面向对象,你需要经过哪几步,说法错误的是
A OOA 面向对象分析
B OOD 面向对象设计
C OOC 面向对象获取
D OOP 面向对象编程
正确答案: C - jQuery中可以使用哪个可以实现事件委托的绑定
A add
B on
C bind
D click
正确答案: B - 下面哪种不是jquery的选择器
A 基本选择器
B 后代选择器
C 类选择器
D 进一步选择器
正确答案: D - 关于闭包理解,下列描述错误的是
A 闭包就是能够访问自由变量的函数
B 如果闭包使用不当,容易造成内存泄漏
C 使用闭包常见的方式有传入一个函数参数,或者返回一个函数
D 闭包函数运行结束后,其中产生的数据会随着函数的结束而自动销毁掉
正确答案: D
解析:概念题,普通函数内的局部变量在函数调用结束后自动销毁
闭包函数运行结束后,产生的数据仍会保存在内存中 - jQuery中的delay方法的作用是
A 停止动画执行
B 暂停动画执行
C 延迟动画执行
D 开始动画执行
正确答案: C - 什么是闭包
A 闭包是指有权访问另一个函数作用域中的变量的函数
B 闭包是指有权访问任意函数作用域中的变量的函数
C 闭包是指有权访问全局个函数作用域中的变量的函数
D 闭包是指有权访问局部个函数作用域中的变量的函数
正确答案: A - 构造函数继承的原理是
A 改变构造函数的this
B 调用父类构造函数,并改变其中的this
C 调用本类构造函数,并改变其中的this
D 调用父类构造函数
正确答案: B
解析:使用call或apply改变父类构造函数的this指向,并让其代码执行 - (document).ready() 可以在DOM载入就绪是就对其进行操纵
B 没有区别
C (document).ready() 可以在DOM载入就绪是就对其进行操纵
D 两者作用不一样
正确答案: A
解析:onload包含文档和资源加载完毕
ready指文档加载完毕 - jq中实现动画的方法是
A $.animate
B $().animate
C animate
D (“div”).animate() - 在用浏览器查看网页时出现404错误可能的原因是 ( ) 代表网页不存在没有找到文件
A 页面源代码错误
B 文件不存在
C 与数据库连接错误
D 权限不足
正确答案: B - php的源码是( ) 开源语言
A 开放的
B 封闭的
C 需购买的
D 完全不可见的
正确答案: A - 运行下来代码,返回结果是 function fn3(num) {
this.a=num;
fn4(this);
}
function fn4(obj) {
obj.b=10;
obj.c=20;
}
var obj1={};
fn3.call(obj1,10);
console.log(obj1);
A {a:10,b:10,c:20}
B {a:20,b:10,c:20}
C {a:10,b:10,c:10}
D {a:10,b:20,c:20}
正确答案: A
解析:call方法的使用 - 以下运行的结果是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 parseInt
B parseFloat
C Number
D Math.floor
正确答案: D
解析:floor() 方法返回小于等于x的最大整数。语法Math.floor(x)如果传递的参数是一个整数,该值不变。
parseInt() 函数可解析一个字符串,并返回一个整数。
parseFloat() 函数可解析一个字符串,并返回一个浮点数。
Number 对象是原始数值的包装对象。
Number 创建方式 new Number()。 - 不属于同源策略限制条件的
A 端口
B 协议
C 域名
D 网址
正确答案: D - 不属于面向的对象思想的是
A 封装
B 继承
C 多态
D 抽象
正确答案: 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 - 有代码 function foo(){ var a=10; return function(){ console.log(a++) } } foo()(); 运行之后,会在控制台中打印
A 10
B 11
C 函数体
D 报错
正确答案: A
解析:a++,加加在后,先赋值后加 - arguments对象是
A 函数中的参数
B 函数中参数的数组
C 函数中含有参数的伪数组对象
D 空
正确答案: C
解析:参数数组 - call和applay一下说法不正确的是
A 可以执行函数
B 可以带入参数
C 可以改变调用函数中this的指向
D 可以创建函数
正确答案: D - 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 - 关于this的几种表述错误的是
A this所在函数是事件处理函数,this是事件源
B this所在函数没有明确额的隶属对象,那么this是window对象
C Let a = 123; 那么this.a中的this表示window对象
D this所在函数是构造函数时,this是new出来的对象
正确答案: A - 关于设计模式,下面哪个是错误的
A 工厂方法模式
B 路由器模式
C 策略模式
D 观察者模式
正确答案: B - 在ES6(2015)中,哪个是原先没有的名词
A 函数
B 类
C 递归
D 过程
正确答案: B - 以下哪个方法不能发起异步请求
A $.get()
B $.post()
C $.json()
D .json()为干扰项,无此用法 - 混合继承是
A 混合了构造函数继承和原型链继承
B 其它都不对
C 混合了es6继承和原型链继承
D 混合了构造函数继承和es6继承
正确答案: A - jq中设置属性的方法是
A attr
B setAttr
C getAttr
D attribute
正确答案: A
解析:attr()可以接受两个参数,一个参数表示获取属性值,两个参数表示设置属性值 - jq中发起添加类名的方法是
A ajax
B addClass
C getClass
D setClass
正确答案: B - php定义变量正确的是
A var a = 5;
B $a = 10;
C int b = 6
D var $a = 12;
正确答案: B - 在用浏览器查看网页时出现404错误可能的原因是 ( ) 代表网页不存在没有找到文件
A 页面源代码错误
B 文件不存在
C 与数据库连接错误
D 权限不足
正确答案: B - 同步和异步执行分别表示什么含义()
A 按顺序依次执行和同时分开执行
B 同时分开执行和按顺序依次执行
C 按一致的速度执行和按不同的速度执行
D 按相同的步骤执行和按不同的步骤执行
正确答案: A
解析:生活中的同步和代码中的不一样 - XMLHttpRequest 对象的 status 属性表示当前请求的 http 状态码,其中()表示正确返回。
A 200
B 301
C 500
D 404
正确答案: A
解析:500服务器错误,301重定向,404请求资源未找到 - 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 对象比实例返回优先级更高 - 下面函数运行的结果是 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
解析:这是一个回调函数的使用 - 闭包的好处说法不对的
A 缓存变量
B 防止命名冲突
C 可能造成内存泄露
D 减少内存使用率
正确答案: D - ES5中不能实现继承的关键字
A prototype
B call
C apply
D extends
正确答案: D - 不属于面向的对象思想的是
A 封装
B 继承
C 多态
D 抽象
正确答案: 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 - 关于原型对象以下说法错误的是
A 每一个函数都有一个原型对象
B 每一个构造函数都有一个原型对象
C 原型对象上的属性和方法能被实例访问
D 原型对象上的属性和方法能被子类(代码里)访问
正确答案: D
解析:原型对象上的属性和方法能被实例访问 - 有代码 function foo(){ var a=10; return function(){ console.log(a++) } } foo()(); 运行之后,会在控制台中打印
A 10
B 11
C 函数体
D 报错
正确答案: A
解析:a++,加加在后,先赋值后加 - 下列jquery对象方法中返回布尔值的是
A not()
B has()
C hasClass()
D fiter()
正确答案: C
解析:hasClass()有类名返回true,没有返回false - 有代码 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是参数的个数 - 执行下列程序的结果会是 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 - 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 - var name = 10; var obj = {} console.log(name + 10 + obj )
A 20[object Object]’
B ‘1010[object Object]’
C “1010”
D 20
正确答案: B - 在jQuery中$变量是什么数据类型
A object
B array
C number
D function
正确答案: A - jQuery中判断元素是否包含某个类名的方法是
A headClass
B hadClass
C haveClass
D hasClass
正确答案: D - 关于闭包理解,下列描述错误的是
A 闭包就是能够访问自由变量的函数
B 如果闭包使用不当,容易造成内存泄漏
C 使用闭包常见的方式有传入一个函数参数,或者返回一个函数
D 闭包函数运行结束后,其中产生的数据会随着函数的结束而自动销毁掉
正确答案: D
解析:概念题,普通函数内的局部变量在函数调用结束后自动销毁
闭包函数运行结束后,产生的数据仍会保存在内存中 - 什么是闭包
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 - jq中发起添加类名的方法是
A ajax
B addClass
C getClass
D setClass
正确答案: B - 在用浏览器查看网页时出现404错误可能的原因是 ( ) 代表网页不存在没有找到文件
A 页面源代码错误
B 文件不存在
C 与数据库连接错误
D 权限不足
正确答案: B - 一个php后缀的文件,可以在什么环境下执行()
A mysql数据库
B 浏览器
C Apache服务器
D Windows系统
正确答案: C - HTTP协议的默认端口号是多少?( )
A 8080
B 8888
C 80
D 3306
正确答案: C - XMLHttpRequest 对象的 status 属性表示当前请求的 http 状态码,其中()表示正确返回。
A 200
B 301
C 500
D 404
正确答案: A
解析:500服务器错误,301重定向,404请求资源未找到 - 执行下列程序的结果是 function fn3() { arguments.callee.play(); } fn3.play=function () { console.log(“aaa”); }; fn3()
A 报错
B 空值
C play
D “aaa”
正确答案: D
解析:callee的使用
callee是对象的一个属性,该属性是一个指针,指向参数arguments对象的函数。
callee 是 arguments 对象的一个属性。它可以用于引用该函数的函数体内当前正在执行的函数。这在函数的名称是未知时很有用,例如在没有名称的函数表达式 (也称为“匿名函数”)内。
二、多选题(不定项选择)
- js创建对象的方式有下面哪几种
A 可以通过json方式创建对象
B 可以通过new 关键字创建对象
C 可以通过函数调用方式创建对象
D 对象不可以通过函数的调用方式创建
正确答案: A,B,C - 以下哪条语句会产生运行错误
A var obj =()
B var obj=[]
C var obj ={}
D var obj ={[]}
正确答案: A,D - 关于call,apply,bind方法,下列说法正确的是
A 三者都可以用于继承
B 三者都可以改变this指向
C 三者参数传递一样
D 三者调用方式一样
正确答案: A,B
解析:三者都可以改变this,所有都可以是 实现继承(构造函数继承的原理是改变函数的this) - svn在进行版本管理时,可以实现的功能有
A 更新至某个指定的版本
B 对某个文件进行锁定
C 创建多个分支
D 对某个文件解除版本控制
正确答案: A,B,C,D
解析:四个选项都是svn可以实现的 - jquery中移除jquery对象的方法有
A remove
B detach
C empty
D clear
正确答案: A,B,C
解析:前三个都可以,clear不行 - 以下哪些是设计模式
A 单例模式
B 观察者模式
C 工厂模式
D 原型模式
正确答案: A,B,C,D - 下面说法错误的是
A 递归就是函数运行别的函数
B 回调就是函数运行自己
C 侦听函数就是递归
D 如果递归次数过多会出现堆栈上限溢出
正确答案: A,B,C - 对象设置属性和属性值的方法正确的是
A obj.name=3
B obj[“name”]=3
C obj{name} = 3
D Obj->name=3;
正确答案: A,B - 下列哪种属于设计模式
A 单例模式
B 观察者模式
C mvc
D mvvm
正确答案: A,B - 构造函数可以创建对象执行的过程是
A 当使用了构造函数,并且new 构造函数(),那么就后台执行了new Object()
B 将构造函数的作用域给新对象,(即new Object()创建出的对象),而函数体内的this 就代表new Object()出来的对象
C 执行构造函数内的代码
D 返回新对象(后台直接返回)
正确答案: A,B,C,D
解析:这是构造函数运行时,内部执行的一个过程,请识记并理解
创建一个新对象,改变this指向,执行构造函数里的代码,返回这个新对象 - $(this) 和 this 关键字在 jQuery 中有何不同
A $(this) 和 this 使用上没有什么不同
B $(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法
C this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的DOM 元素
D this 可以调用 jQuery 的click() 方法
正确答案: B,C
解析:jquery对象只能访问jquery提供的方法
原生DOM对象不能直接访问jquery方法 - 为什么要使用jQuery?jquery有哪些好处
A 它有强大的选择器,出色的DOM操作的封装
B 出色的浏览器的兼容性
C 完善的ajax
D 有可靠的事件处理机制
正确答案: A,B,C,D
解析:jquery最大的特点在查询,并封装了大量的方法进行DOM操作,事件处理及ajax请求等 - 下面是设计模式的是
A 单例模式
B 观察者模式
C 测试模式
D 视图模式
正确答案: A,B
解析:单例模式和观察者模式,是常见的设计模式 - 前后端开发过程中,解决跨域的方法有那些。( )
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 $(".box").attr()
B $(".box").css()
C $(".box").remove()
D $(".box").html()
正确答案: A,B,C,D - jq中关于操作元素节点class属性的操作有
A addClass
B removeClass
C attr(“class”, “box”)
D setClass
正确答案: A,B,C
解析:A是添加类名
B是删除类名
C是切换类名 - 下面对ajax的描述哪些是正确的( )
A 是指一种创建交互式网页应用的网页开发技术
B AJAX 可以使网页实现异步更新
C 可以调用xml、json、php等外部数据
D 没有平台限制
正确答案: A,B,C,D - 执行这个程序后打印的结果
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 - jq中法可以发起ajax请求的方法有
A $.ajax
B $.get
C $.post
D $().load
正确答案: A,B,C,D
解析:识记题 $.ajax()jquery的底层封装 $.get() 封装get请求 $.getJSON()可以做跨域请求 - 下面关于构造函数的优点,描述正确的有哪些
A 构造函数可以通过new关键字创建对象,对象的创建比较规范
B 构造函数只能创建一个对象
C 可以解决多个同类对象创建时,代码重复的问题
D 构造函数创建的对象,创建出的对象是相等关系
正确答案: A,C - 以下哪条语句会产生运行错误
A var obj =()
B var obj=[]
C var obj ={}
D var obj ={[]}
正确答案: A,D - 使用new运算符生成一个实例时,需要执行的步骤有那些
A 创建一个新对象
B 改变this指向
C 执行构造函数里的代码
D 返回一个对象
正确答案: A,B,C,D
解析:当代码 new Foo(…) 执行时,会发生以下事情:
一个继承自 Foo.prototype 的新对象被创建。
使用指定的参数调用构造函数 Foo ,并将 this 绑定到新创建的对象。new Foo 等同于 new Foo(),也就是没有指定参数列表,Foo 不带任何参数调用的情况。
由构造函数返回的对象就是 new 表达式的结果。如果构造函数没有显式返回一个对象,则使用步骤1创建的对象。(一般情况下,构造函数不返回值,但是用户可以选择主动返回对象,来覆盖正常的对象创建步骤) - 以下关于jquery的说法正确的是
A jquery可以和原生js结合一起使用
B jquery对象和原生DOM对象不能相互转换
C jquery对象可以使用原生js的方法
D 原生DOM对象不能使用jquery对象方法
正确答案: A,D
解析:jquery对象不可以使用原生js的方法 - 以下哪些属性是defineProperty可以定义的
A Enumerable
B Configurable
C Writable
D Value
正确答案: A,B,C,D - 以下说法错误的是
A 对象一般存储在栈中
B 对象是类的实例化
C 类是对象的实例化
D 类不可以继承
正确答案: A,C,D - 获取
内容
标签里的文本内容
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均对 - 下面哪个可以改变this
A call
B bind
C apply
D test
正确答案: A,B,C
解析:call apply bind 均能改变this指向,注意用法不同
12.为什么要使用jQuery?jquery有哪些好处
A 它有强大的选择器,出色的DOM操作的封装
B 出色的浏览器的兼容性
C 完善的ajax
D 有可靠的事件处理机制
正确答案: A,B,C,D
解析:jquery最大的特点在查询,并封装了大量的方法进行DOM操作,事件处理及ajax请求等
13.下面是设计模式的是
A 单例模式
B 观察者模式
C 测试模式
D 视图模式
正确答案: A,B
解析:单例模式和观察者模式,是常见的设计模式 - 当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事件处理程序即可 - 在php中,下列哪些是输出(打印)函数。( )
A print
B echo
C print_r
D write
正确答案: A,B,C - 下面可以实现继承的有
A 构造函数继承
B Object.create()
C 原型链继承
D es6 extends
正确答案: A,B,C,D
解析: 前三种是es5中继承,最后一个是es6的继承 - Ajax的请求方式有哪些。( )
A post
B get
C method
D putx
正确答案: A,B - jq中法可以发起ajax请求的方法有
A $.ajax
B $.get
C $.post
D $().load
正确答案: A,B,C,D
识记题 $.ajax()jquery的底层封装 $.get() 封装get请求 $.getJSON()可以做跨域请求 - js创建对象的方式有下面哪几种
A 可以通过json方式创建对象
B 可以通过new 关键字创建对象
C 可以通过函数调用方式创建对象
D 对象不可以通过函数的调用方式创建
正确答案: A,B,C - 下面哪些关键字不可以实现删除实例属性
A delete
B has
C instanceof
D add
正确答案: B,C,D - 使用new运算符生成一个实例时,需要执行的步骤有那些
A 创建一个新对象
B 改变this指向
C 执行构造函数里的代码
D 返回一个对象
正确答案: A,B,C,D
解析:当代码 new Foo(…) 执行时,会发生以下事情:
一个继承自 Foo.prototype 的新对象被创建。
使用指定的参数调用构造函数 Foo ,并将 this 绑定到新创建的对象。new Foo 等同于 new Foo(),也就是没有指定参数列表,Foo 不带任何参数调用的情况。
由构造函数返回的对象就是 new 表达式的结果。如果构造函数没有显式返回一个对象,则使用步骤1创建的对象。(一般情况下,构造函数不返回值,但是用户可以选择主动返回对象,来覆盖正常的对象创建步骤) - 下面说法错误的是
A 递归就是函数运行别的函数
B 回调就是函数运行自己
C 侦听函数就是递归
D 如果递归次数过多会出现堆栈上限溢出
正确答案: A,B,C - jquery中获取对象的方式正确的是
A $()
B jQuery()
C jquery()
D $jQuery()
正确答案: A,B - 下列哪种属于设计模式
A 单例模式
B 观察者模式
C mvc
D mvvm
正确答案: A,B - 构造函数可以创建对象执行的过程是
A 当使用了构造函数,并且new 构造函数(),那么就后台执行了new Object()
B 将构造函数的作用域给新对象,(即new Object()创建出的对象),而函数体内的this 就代表new Object()出来的对象
C 执行构造函数内的代码
D 返回新对象(后台直接返回)
正确答案: A,B,C,D
解析:这是构造函数运行时,内部执行的一个过程,请识记并理解
创建一个新对象,改变this指向,执行构造函数里的代码,返回这个新对象 - 案例代码如下:
大字体
小字体
请选取文本是"大字体"的div对象
A $(“div.big”);
B $(“div .big”)
C $(“div:contains(‘大字体’)”);
D $(“form > div.big”);
正确答案: A,C,D
解析:此题考察不同选择器的用法
B选项是选取div里具有big类名(后代)的jquery对象集合 - 为什么要使用jQuery?jquery有哪些好处
A 它有强大的选择器,出色的DOM操作的封装
B 出色的浏览器的兼容性
C 完善的ajax
D 有可靠的事件处理机制
正确答案: A,B,C,D
解析:jquery最大的特点在查询,并封装了大量的方法进行DOM操作,事件处理及ajax请求等 - 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 - 下面哪些是mysql的常用数据类型( )
A varchar
B int
C float
D text
正确答案: A,B,C,D - 关于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是切换类名 - 引起跨域的情况有哪些.( )
A 域名不同
B 端口不同
C 同一域名,不同协议。
D 同一域名,同一端口,同一协议
正确答案: A,B,C
解析:同源策略: 相同域名、端口号、传输协议 - jq中法可以发起ajax请求的方法有
A $.ajax
B $.get
C $.post
D $().load
正确答案: A,B,C,D
解析:识记题 $.ajax()jquery的底层封装 $.get() 封装get请求 $.getJSON()可以做跨域请求