js高级程序设计
文章平均质量分 76
Milan_KunderLa
这个作者很懒,什么都没留下…
展开
-
Ajax请求——XMLHttpRequest对象
之前我们在面试总结中讨论过XMLHttpRequest(XHR)对象现在我们来进一步说明什么是http请求?1.原创 2018-07-09 16:06:56 · 307 阅读 · 0 评论 -
js中类数组转换为数组方法
1.什么是类数组?通俗点来讲就是虽然可以通过方括号语法访问里面的元素值,也有length属性,可以像数组一样操作它。但是实际上本质上并不是Array类型的实例。2.对于这一类具有length属性的对象,都可以通过一定的方法转换为真正的数组比如我们知道文档的节点元素都有一个childNodes属性,其中保存着一个NodeList对象,这个对象保存着元素的所有子节点元素,可以通过位置来访问...原创 2018-08-04 11:44:53 · 588 阅读 · 0 评论 -
稳妥构造函数模式
稳妥对象是指没有公共属性,而且其方法也不引用this的对象,稳妥对象最适合用在一些安全的环境中(这些环境会禁止使用this和new),或者在防止数据被其他应用程序改动时使用。稳妥构造函数遵循与寄生构造函数类似的模式,但是有两个不同之处:一是新创建对象的实例方法不使用this;二是不使用new操作符调用构造函数。例如:function Person(name,age,job){ var o...原创 2018-07-13 09:09:47 · 384 阅读 · 0 评论 -
寄生构造函数模式
当在构造函数模式,原型模式,组合使用构造函数模式与原型模式、动态原型模式这几种模式都不适用的情况下可以shiyong这种模式基本思想四创建一个函数,该函数的作用仅仅是fnegxhaunfunction Person(name,age,job){ var o = new Object(); o.name = this.name; o.age = this.age; ...原创 2018-07-12 21:20:58 · 271 阅读 · 0 评论 -
动态原型模式
对于独立使用的构造函数和原型狂舞,经常使人感到困惑,因此动态原型模式把所有的信息都封装到了构造函数中,而通过在构造函数中初始化原型,又保持了同时使用构造函数和原型模式的优点。换句话说,可以通过检查某个应该存在的方法是否存在来决定是否xuyaofunction Person(name,age,job){//属性this.name = name;this.age =age;this.job = job...原创 2018-07-12 21:04:13 · 858 阅读 · 0 评论 -
构造函数模式与原型模式组合使用
之前说过,单独使用原型模式存在很多缺点,很少有人单独使用原型模式创建自定义类型最常见的方式是组合使用构造函数和原型模式。即,构造函数yofunction Person(name,age,job){this.name = name;this.age = age;this.job =job;this.friend = ["Grey","cq"];}Person.prototy...原创 2018-07-12 20:50:22 · 244 阅读 · 0 评论 -
函数与闭包(上)
1.函数的定义方式:(1)函数声明: function functionName(arg0){ //函数体 } alert(functionName.name);//只在firefox,safari,chrome和opera有效函数声明提升:在执行代码前会先读取函数声明,即函数声明可以放在函数调用的语句后面(2)函数表达式: var functionName = function(arg0)...原创 2018-07-09 16:11:48 · 171 阅读 · 0 评论 -
原型模式与原型对象
我们创建的每一个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。即原型对象。通俗一点讲,就是假如有一个类function Peson(){};//构造函数Person.prototype.name = "csy";//通过原型对象添加属性和方法Person.prototype.age = 18;...原创 2018-07-12 20:25:59 · 347 阅读 · 0 评论 -
关于应用缓存appcache
Appcache就是从浏览器缓存中分出来的一块缓存区。要想在这个缓存中保存数据,可以使用一个描述文件(manifest file)列出要缓存和下载的资源例如:CACHE MANIFEST#Comentfile.jsfile.css更多有关描述文件的内容请参见:http://html5doctor.com/go-offline-with-application-cache...原创 2018-07-18 15:18:45 · 1423 阅读 · 0 评论 -
离线应用
离线检测:开发离线应用的第一步是知道设备是在线还是离线,HTML5因此定义了一个navigator.onLine属性,这个属性值为true表示设备能正常上网。在IE6+和Safari5+能够正确检测到网络已经断开,并将navigator.onLine属性转换为falseFirefox3+和Opera10.6+支持navigator.onLine属性,但是你必须手工选中菜单项“文件——&...原创 2018-07-18 10:38:10 · 300 阅读 · 0 评论 -
web前端面试总结(1)
1.说说你对盒子模型的理解 所有HTMl元素都可以看作盒子,在CSS中,“box model”这一术语是用来设计和布局时使用 css模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容 盒模型允许我们在其他元素的周围元素边框之间的空间放置元素 当你指定一个css元素的宽度与高度时,你只是指定内容区域的宽高,元素真正的宽高为:内容+填充+边框+边距 兼容问题:在IE5....原创 2018-07-05 14:37:54 · 260 阅读 · 0 评论 -
解决原型链中包含引用值类型的问题——借用构造函数
借用构造函数,又叫伪造对象或经典继承这种技术的基本思想是:在子类型构造函数的内部调用超类型的构造函数。别忘了,函数只不过是在特定环境中执行代码的对象,因此通过调用apply()和call()方法也可以在将来新创建的对象上执行构造函数。例如:function SuperType(){this.colors = ["red","blue","green"]};function Sub...原创 2018-07-17 16:35:20 · 423 阅读 · 0 评论 -
javascript原型链详解
许多OO语言都支持两中继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。由于函数没有签名,因此ECMAScript无法实现接口继承,只支持实现继承,而实现继承主要是依靠原型链来实现的。原型链其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。简单回顾一下构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指...原创 2018-07-17 15:56:26 · 177 阅读 · 0 评论 -
面向对象的程序设计
ECMAScript中没有类的概念,所谓对象可以想象成散列表,是一组没有特定顺序的值,即一组名值对,其中值可以是数据或函数1.可变的键控集合,适用于汇集和管理数据,对象可以包含其他对象(即一组数据的集合)2.对象是无类型的包含一种原型链的特性,允许对象继承另一个对象的属性3.创建一个新对象的方式: a.var person = new Object(); person.name = "nihao...原创 2018-07-04 10:52:09 · 313 阅读 · 0 评论 -
CORS通信(跨域源资源共享)
跨域源资源共享1.CORS:跨域资源共享,跨域源资源共享。默认情况下,XHR对象只能访问它包含它的页面位于一个域中的资源。首先什么叫做跨域?当请求页面的协议,域名,端口中存在任意一个与XHR所在对象的不同的请求即跨域请求。我们知道,在进行Ajax的请求的时候要求xhr.open(“获取”,网址,真实)中的URL必须与当前页面的协议,域名,端口相同,比如,本地url是http://w...原创 2021-06-09 16:32:27 · 213 阅读 · 0 评论 -
Ajax请求——进度事件
ProgressEvents规范定义了与客户端服务器通信有关的事件。这些事件包括:1.loadstart:在接收到2.progress:在接收响应3.error:在请求发生cuo4.5.load:在接收到完整的响应数据时触发6.loaload事件:在Firefox中用以代替readystatechange事件,响应接收完毕会触发一个load事件,因此也就没有必要去检查readystate属性了而o...原创 2018-07-09 19:23:53 · 2168 阅读 · 0 评论 -
Ajax请求——XMLHttpRequest2级
FormData1.FormData为序列化表单以及创建与表单格式相同的数据(用于通过XHR传输)提供了便利var data = new FormData();data.append("name","csy");append方法接收两个参数:键和值,分别对应表单的字段的名字和字段的值。可以像这样添加任意多个键值对。向构造函中传递表单元素,可以利用表单元素中的数据预先向其中填入键值对。var dat...原创 2018-07-09 16:34:58 · 201 阅读 · 0 评论 -
javascript基本包装类型Boolean、Number、String
1.三种特殊的引用类型:Boolean、String、Number每当读取一个基本类型的时候,后台就会创建一个对应的基本包装类型的对象,从而让我们能调用一些方法来操作这些数据我们不建议直接实例化包装好的引用类型,原因在于在使用typeof和instanceof检测基本类型数值时结果完全不同var numberObject = new Number(10);var numberValue...原创 2018-08-01 15:51:48 · 468 阅读 · 0 评论