
javascript
RheaWang
这个作者很懒,什么都没留下…
展开
-
js创建对象的七种方式
工厂模式function createPerson(name,age,obj){ var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName=function(){ alert(this.name); }; return o;}var person1 = createPe原创 2017-06-21 11:27:27 · 439 阅读 · 0 评论 -
数组常用方法
转换方法 valueOf():返回最适合该对象类型的原始值; toString(): 将该对象的原始值以字符串形式返回。这两个方法一般是交由JS去隐式调用,以满足不同的运算情况。在数值运算里,会优先调用valueOf(),如a+ b;在字符串运算里,会优先调用toString(),如alert(c).栈方法 栈方法主要是用于出栈和入栈; array.push():该方法返原创 2017-08-23 17:23:31 · 916 阅读 · 0 评论 -
同步与异步,阻塞和非阻塞的区别
同步与异步 同步与异步关注的是消息通信机制。 同步即在发送一个调用请求后,在没有得到结果之前,请求不返回。即请求者主动等待请求的结果。 异步则是请求发送成功之后,这个调用直接返回,无需等待结果,被调用者通过状态来通知请求者,后回调函数处理这个调用。阻塞和非阻塞 阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态 阻塞调用是指在调用结果返回之前,线程会被挂起,不继原创 2017-08-22 10:02:40 · 461 阅读 · 0 评论 -
bind&call&apply
1.改变this指向var a = { text: 1, alert: function () { console.log(this.text) }};function b(cb) { cb();}b(a.alert);针对上述题,毫无疑问输出undefined,因为this指向window,如何让函数输出1,这里毫无疑问是改变this指向,即可以用bind,call原创 2017-08-25 10:20:52 · 415 阅读 · 0 评论 -
DOM常用操作
查找节点 通过ID查找DOM节点:getElementById 通过class属性查找:getElementsByClassName 通过标签名查找:getElementsByTagNames 通过指定名称查找:getElementsByName 匹配选择器,只返回匹配的第一个元素:querySelector() 匹配选择器,返回匹配的所有元素:querySelec原创 2017-08-07 12:40:43 · 370 阅读 · 0 评论 -
ES6与ES5继承比较
1. 关于ES5寄生构造函数继承 /*寄生组合式继承*/function inHeritPrototype(SuperType,SubType) { var prototype=Object(SuperType);//创建对象 prototype.constructor=SubType;//增强对象 SubType.prototype=prototype;}fun原创 2017-07-28 11:36:43 · 1161 阅读 · 0 评论 -
常用排序算法汇总js版
//冒泡排序//比较前后两个,若前一个比后一个大,则交换位置function bubbleSort(array) { var length=array.length; for(var i = 0;i<length;i++){ for(var j = 0;j<length-1;j++){ if(array[j]>array[j+1]){原创 2017-07-14 21:09:00 · 343 阅读 · 0 评论 -
javascript类型转换
1.实现如下函数,运算结果如以下预期结果:add(1)(2) // 3add(1, 2, 3)(10) // 16add(1)(2)(3)(4)(5) // 152.解题思路 首先想到的是Array.prototype.reduce以及高阶函数,即将函数作为返回值返回进行链式调用,reduce() 方法对累加器和数组中的每个元素 (从左到右)应用一个函数,将其减少为单个值。但是这种方法只原创 2017-07-06 20:07:51 · 399 阅读 · 0 评论 -
Server-Sent Events &&Web Sockets
Server-Sent Events(服务器发送事件) SSE主要是围绕只读Comet交互推出的API,用于创建向服务器的单向连接,服务器可以通过这个连接发送任意数量的数据,但是服务器响应的mine-type必须是text/event-stream。SSE支持短轮询,长轮询和HTTP流,且能在断开连接时自动确定何时连接。 API: 要先创建个事件流:var source = new Event原创 2017-07-24 10:46:14 · 468 阅读 · 0 评论 -
javascript---bind的实现方法
bind函数主要是运用于绑定this的指向,原生实现方法即是通过给目标函数绑定作用域来实现bind方法。Function.prototype.bind=function (context) { var arg=Array.prototype.slice.call(arguments,1); var self=this; return function () {原创 2017-07-07 21:56:58 · 370 阅读 · 0 评论 -
Comet工作原理
1.概念 Comet是通用术语,描述协议和为浏览器提供可行且可拓展的低延迟数据传输实现的集合。目标包括随时从服务端向客户端推送数据,提升传统ajax的速度和可拓展性。 2.工作原理 Comet通过更智能的长连接管理和减少每个连接的服务器资源,Comet相对于传统web服务,,更易于提供更多的同步连接,客户端与服务器之间数据传输更快。相对于客户端,采用的技术有轮询,长轮询,永久帧,XHR流原创 2017-07-07 16:51:05 · 2138 阅读 · 0 评论 -
js通用监听函数
关于通用的事件监听器函数Event = { //页面加载完成后 readyEvent: function(fn) { if (fn == null) { fn = document; } var oldonload = window.onload; if (typeof window.onload != 'functi转载 2017-07-03 17:51:25 · 1396 阅读 · 0 评论 -
正则表达式总结
处理正则表达式的方法有:regexp.exec(),regexp.test(),string.match(),string.replace(),string.search(),string.split(). 1.regexp.exec(string) exec方法主要是匹配regex和字符串string。它就会返回一个数组。 2.regexp.test(string) test方法是对原创 2017-07-12 16:42:51 · 321 阅读 · 0 评论 -
关于继承
继承的几种方式原型链/*原型链*/ function SuperType() { this.property=true; } SuperType.prototype.getSuperValue=function () { return this.property; }; function SubType(){原创 2017-07-11 20:29:00 · 467 阅读 · 0 评论 -
ES6学习笔记
1. let 与var区别不同之处: —- let变量所在的代码块内有效,而var没有块级作用域的概念,只有全局变量和局部变量的概念; —- let声明的变量不存在变量提升,未声明变量使用变量会报错,var 声明的变量存在变量提升; —- let存在暂时性死区;暂时性死区的本质就是,只要一进入当前作用域,所要使用的变量就已经存在了,但是不可获取,只有等到声明变量原创 2017-09-04 22:36:38 · 522 阅读 · 0 评论