• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > 前端试题大综合练习(七)

前端试题大综合练习(七)

作者:LiyangBai 字体:[增加 减小] 来源:互联网 时间:2017-08-02

LiyangBai通过本文主要向大家介绍了javascript,前端开发等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

 

1、Ajax是什么?Ajax的交互模型?同步和异步的区别?如何解决跨域问题?
解:Ajax是"异步JS和XML",是一个技术的组合;
主要用来实现客户端与服务器的异步交互效果,实现页面的局部刷新;
Ajax的实现过程:①创建XMLHttpRequest对象,即创建一个异步调用对象;②创建一个新的http请求,并指定请求的方法、URL以及验证信息;③设置响应http请求状态变化的函数;④发起http请求获取异步调用返回的数据,使用js和DOM实现局部刷新;
同步和异步的区别:同步,执行当前事件的时候,其他事件等待;异步,各自操作互不等待;
如何解决跨域问题:协议、域名、端口都相同才是同源,否则就是跨域。解决:动态创建script标签,并利用其src属性以访问JS文件的形式获取JS脚本,且JS脚本中的内容是回调函数的调用,参数是服务器返回的数据。那么就需要实现在页面中定义好回调函数,在该函数中处理返回的数据。
ajax实现过程代码:
var xhr=new XMLHttpRequest(); 
//创建XMLHttpRequest对象
xhr.onreadystatechange=function(){  
if (xhr.readyState===4) {
if (xhr.status>=200&&xhr.status<=300||xhr.status==304) {
//请求成功,处理数据
alert(xhr.responseText);
}else{
//请求失败
alert(xhr.status);
}
}
};
//设置响应http请求状态变化的函数
xhr.open('get','url','true'); 
//指定http请求,包括请求的方法、URL以及验证信息
//get或post,表示是否异步请求的布尔值
xhr.send(); 
//发起http请求

2、在JavaScript中,如何判断某变量是否为数组数据类型?
答案:①Array.isArray(arr);②arr.constructor===Array
3、以下哪一项不属于浏览器Response Headers字段:
Referer
Connection
Content-Type
Server
答案:A
常见的请求头和响应头字段:
请求:
Accept: */*(客户端能接收的资源类型)
Accept-Language: en-us(客户端接收的语言类型)
Connection: Keep-Alive(维护客户端和服务端的连接关系)
Host: localhost:8080(连接的目标主机和端口号)
Referer: http://localhost/links.asp(告诉服务器我来自于哪里)
User-Agent: Mozilla/4.0(客户端版本号的名字)
Accept-Encoding: gzip, deflate(客户端能接收的压缩数据的类型)
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT(缓存时间) 
Cookie(客户端暂存服务端的信息)
Date: Tue, 11 Jul 2000 18:23:51 GMT(客户端请求服务端的时间)  
响应:
HTTP/1.1(响应采用的协议和版本号) 200(状态码) OK(描述信息)     
Location:http://www.baidu.com(服务端需要客户端访问的页面路径)      
Server:apache tomcat(服务端的Web服务端名)     
Content-Encoding:gzip(服务端能够发送压缩编码类型)      
Content-Length: 80(服务端发送的压缩数据的长度) 
Content-Language: zh-cn(服务端发送的语言类型)      
Content-Type:text/html; charset=GB2312(服务端发送的类型及采用的编码方式)     Last-Modified:Tue, 11 Jul 2000 18:23:51 GMT(服务端对该资源最后修改的时间)     Refresh:1;url=http://www.it315.org服务端要求客户端1秒钟后,刷新,然后访问指定的页面路径)    
Content-Disposition: attachment;filename=aaa.zip服务端要求客户端以下载文件的方式打开该文件)     Transfer-Encoding:chunked(分块传递数据到客户端)       
Set-Cookie:SS=Q0=5Lb_nQ;path=/search(服务端发送到客户端的暂存数据)     
Expires:-1//3种(服务端禁止客户端缓存页面数据)     
Cache-Control:no-cache(服务端禁止客户端缓存页面数据)       
Pragma: no-cache(服务端禁止客户端缓存页面数据) 
Connection: close(1.0)/(1.1)Keep-Alive(维护客户端和服务端的连接关系)  
Date: Tue, 11 Jul 2000 18:23:51 GMT(服务端响应客户端的时间)   
注:在服务器响应客户端的时候,带上Access-Control-Allow-Origin头信息,解决跨域的一种方法。
3、关于IE的window对象表述正确的有: ()
window.opener属性本身就是指向window对象
window.reload()方法可以用来刷新当前页面
window.location=”a.html”和window.location.href=”a.html”的作用都是把当前页面替换成a.html页面
定义了全局变量g;可以用window.g的方式来存取该变量
答案:D
解:window.opener实际上就是window.open打开的窗体的父窗体,不是window对象;
location.reload用来刷新页面;
4、以下代码执行后,array的结果是?
var array=[-1,1,3,4,6,10]; 
array.sort((a,b)=>Math.abs(a-3)-Math.abs(b-3));
[10,-1,6,1,4,3]
[10,6,4,3,1,-1]
[3,4,1,6,-1,10]
[-1,1,3,4,6,10]
答案:C
解:此处按照数组每一项减3的绝对值大小从小到大排;
原来数组项  [-1,1,3,4,6,10]
每一项减3后 [-4,-2,0,1,3,7]
取绝对值后  [4,2,0,1,3,7]
排序后      [0,1,2,3,4,7]
对应于原始数组即[3,4,1,6,-1,10]
5、编写 JavaScript 函数实现网页背景色选择器,下列选项中正确的是()
function change(color){
window.bgColor=color;
}
function change(color){
document.bgColor=color;
}
function change(color){
body.bgColor=color;
}
function change(color){
form.bgColor=color;
}
答案:B
6、void();
上面表达式的结果是:
undefined
TypeError
null
SyntaxError
答案:D
解:void 作为运算符后面接的是表达式,void expression。而void(0)也是被当做void 0。如果直接void(),就会报错。
7、图片懒加载技术会让图片进入视野之后延迟一小段时间才让用户看到图片,体验不好。如何改进?
答案:个人认为在条件允许的情况下可以预加载;或者设置一张静态图片在没有加载完全的情况下显示也是可以的。预加载降低了性能提高了用户体验;懒加载提高了性能降低了用户体验。所谓懒加载,就是多张图片用一个src加载。
8、给String对象定义一个repeat方法,满足以下要求:
console.log(‘hello’.repeat(3)); //hellohellohello
答案:
String.prototype.repeat=function(num){
var str='';
var temp=this.slice();
for(var i=0;i<num;i++){
str+=temp;
}
return str;
}
9、写出以下代码执行后 console.log 打印出的结果,并解释原因
var obj={
desc:'obj A',
print:function(msg){
return [this.desc,msg].join('');
}
};
var desc='lame';
var func=obj.print;
console.log(obj.print('awesome'));
var b=obj;
b.desc='obj B';
console.log(obj.print('wierd'));
console.log(func.call());
答案:
obj Aawesome
obj Bwierd


解:console.log(obj.print('awesome'))此处this指的是调用print方法的对象obj。故输出obj Aawesome;
var b=obj;此处定义了b指向了obj,是地址引用;所以b.desc='obj B';即obj.desc='obj B',所以console.log(obj.print('wierd'));输出obj Bwierd。
var func=obj.print;相当于定义了
func=function(msg){
return [this.desc,msg].join('');
}

 

于是console.log(func.call());用call方法修改了其作用域,this指的是window,但没有传入实参,即msg为空。相当于['lame',].join(''),按理说结果应该是lame啊,可我调试了啥也没输出!!!求解!!

求助:路过的好心人求解!!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • JavaScript瀑布流布局实现代码
  • Javascript实现页面滚动时导航智能定位
  • JavaScript实现打地鼠小游戏
  • javascript编写简易计算器
  • JavaScript实现无穷滚动加载数据
  • JavaScript仿微信打飞机游戏
  • javascript 中关于array的常用方法详解
  • javascript 中的继承实例详解
  • JavaScript函数表达式详解及实例
  • JavaScript中双向数据绑定详解

相关文章

  • 2017-05-11解决ajax不能访问本地文件问题(利用js跨域原理)
  • 2017-05-11js和jquery中获取非行间样式
  • 2017-05-11Bootstrap导航条学习使用(一)
  • 2017-05-11纯js仿淘宝京东商品放大镜功能
  • 2017-05-11原生js实现倒计时功能(多种格式调用)
  • 2017-05-11node.js实现复制文本到剪切板的功能
  • 2017-05-11js数字计算 误差问题的快速解决方法
  • 2017-05-11js实现倒计时关键代码
  • 2017-10-01JS实现继承的几种方式
  • 2017-05-11javaScript嗅探执行神器-sniffer.js

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Angular组件化管理实现方法分析
    • vue调用高德地图实例代码
    • vuejs2.0实现一个简单的分页示例
    • js放到head中失效的原因与解决方法
    • JavaScript中 DOM操作方法小结
    • jQuery模拟窗口抖动效果
    • 百度地图API之百度地图退拽标记点获取经纬度的实现代码
    • 微信小程序去哪里找 小程序到底如何使用(附小程序名单)
    • JavaScript实现时钟滴答声效果
    • js控制按钮,防止频繁点击响应的实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有