自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

戴帽子的猫

天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。

  • 博客(24)
  • 收藏
  • 关注

原创 整理下之前学习的websocket

这里websocket的历史我就不说了。不要把websocket和长连接弄混了就行了。 Websocket是基于HTTP协议的,借用了HTTP的协议来完成一部分握手。websocket握手客户端到服务端:GET / HTTP/1.1Connection:UpgradeHost:127.0.0.1:8088Origin:nullSec-WebSocket-Extensions...

2018-04-09 12:26:19 219

原创 回顾下之前整理的promise

es6的集成方法 Promisepending: 初始状态,不是成功或失败状态。 fulfilled: 意味着操作成功完成。 rejected: 意味着操作失败。当Promise状态为fulfilled时,调用 then 的 onfulfilled 方法,当Promise状态为rejected时,调用 then 的 onrejected 方法, 所以在异步操作的完成和绑定处理方法之间...

2018-04-08 17:43:21 160

原创 比较两个数组和对象是否相同

JavaScript是不能用==或===操作符直接比较两个数组是否相等的alert([]==[]); // falsealert([]===[]); // false因为JavaScript里面Array是对象,==或===操作符只能比较两个对象是否是同一个实例,也就是是否是同一个对象引用。目前JavaScript没有内置的操作符判断对象的内容是否相同。但是惯性思维让人...

2018-04-03 15:52:03 3174

原创 dom基础API

之前也通过原生的dom操作写项目了,用到了很多的api,但是仅仅是用了,并不是那么的去了解它,我希望系统的学一下。节点元素节点 文本节点属性节点获取元素 document下的特有函数 getElementById() // Id名字 getElementByName() 根据name属性查找 返回一个NodeList ...

2018-03-30 19:48:25 324

原创 左侧固定宽,右侧自适应(来源面试)

面试给我出了这样的一个自适应的问题,当时由于紧张和日常工作中没怎么弄过自适应的问题所以。。。有点悲惨。回来好好的想了一下,给出以下几种方法//两个块元素<div class="div1"></div><div class="div2"></div>方法一:利用浮动<style type="text/css">*{ margin:0; padding:0;}.div1{

2018-03-30 17:30:26 118

原创 class.js

/* Simple JavaScript Inheritance * By John Resig http://ejohn.org/ * MIT Licensed. */// Inspired by base2 and Prototypevar Class = (function () {    var initializing = false, fnTest =

2017-01-14 14:31:36 325

原创 当点击指定区域图片(精灵)进行旋转

var offset = _this.__eventOffset; var rotateDiv = _this.m_viewElement.querySelector('.actor-rotate'); //统一坐标系 //var _center = object.parent.clientPosToView(object.m_position.x,obje

2016-09-13 10:52:38 446

原创 用js+css实现帧动画播放的功能

_为了确保点击时候播放_cancelSelectObject: function (id) { var _this = this; _this._selected = false; if(_this._animate){ _this._animate._play = false; } }, /** * [__selectObj

2016-09-09 10:44:38 2761

原创 用js+css模拟九宫格精灵版本二

__setScale9Sprite_ :function(data) { var _this = this; if(data.wraperId != _this.m_id) { return; } //九宫格的信息 var info = _this._scale9SpriteInfo = _this._scale9SpriteInfo || { url: null

2016-09-09 10:40:49 473

原创 引用JS写的一个事件的分发中心

/* * @create time 2015-03-24 * @author Tong_yx * @desc 全局事件处理中心 *//** * 事件对象 * @param {string} token 事件的token值,用于删除事件 * @param {object} obj 事件的对象 * @param {string} funcname 函数名称 * @param {o

2016-09-09 10:39:02 2528

原创 用js实现帧动画

__setAnimate: function (data) { var _this = this; if(data.wraperId != _this.m_id) { return; } switch(data.key){ case 'animate': _this._animate = _this._animate || {_speed:1.0};

2016-09-09 10:36:14 767

原创 three.js

var gf = gf || {};gf.ViewLogic3d = gf.Object.extend( /** @lends gf.ViewLogic3d# */ { m_objectList: null, subCamera: null, loadingManager:null, fbxloader : null, mixers : null,

2016-09-07 11:56:11 859

原创 three.js实现简单功能

love div#canvas-frame { border: none; cursor: pointer; width: 100%; height: 100%;

2016-09-05 18:04:26 4489

原创 使用node.js搭建本地服务器

var http = require('http');var url = require('url');var fs = require('fs');var path = require('path');//配置var config = { port: 80, denyAccess: ['./httpserver.js', './src/requirecache.js'

2016-09-02 17:55:58 538

原创 three.js实现一个网格

Three框架 div#canvas-frame { border: none; cursor: pointer; width: 100%; height: 600px; back

2016-09-01 17:52:33 1296

原创 webgl 入门的简单小模型

onload = function () { var c = document.getElementById("canvas"); c.width = 500; c.height = 300; var gl = c.getContext('webgl') || c.getContext('experimental-webgl'); gl.clearCo

2016-09-01 17:49:33 696

原创 用js+css 模拟九宫格精灵

__setScale9Sprite :function(data) { var _this = this; if(data.wraperId != _this.m_id) { return; } //最外层的div var scale9Sprite = _this.m_viewElement.querySelector('#scale9Sprite'); if(!

2016-08-26 18:22:02 561

原创 观察者模式

对于观察者模式还不是特别大额理解,现在那么静静下心来好好的整理了一下。 自己理解搞这么多的设计模式到底是干什么? 解耦和模块化。试着想象,现在很吊的滴滴打车,曾经出现了很多的黑科技优惠券,不就是由于发展太快,解耦处理不好,出现了很多的‘黑科技’。(刚开始写,表达能力不是很强,后期我会慢慢的优化的。)首先观察者模式要做到开放-封闭原则(修改原有的代码就代表不好)。依赖倒转原则(应该让程序都依赖抽

2016-08-18 16:39:19 287

原创 JS中使用闭包来定义常量

JS中有个关键字const,但是目前的浏览器不支持。如果要是定义一些常量建议使用闭包var Class = (function () { var UPPER_BOUND = 100; //定义了常量 var Test = {}; //定义了一个静态方法,获取常量的方法 Test.getUPPER_BOUND = function() { return

2016-08-18 11:15:59 643

转载 JS到底是值传递还是引用传递

在分析这个问题之前,我们需了解什么是按值传递(call by value),什么是按引用传递(call by reference)。在计算机科学里,这个部分叫求值策略(Evaluation Strategy)。它决定变量之间、函数调用时实参和形参之间值是如何传递的。按值传递(call by value)是最常用的求值策略:函数的形参是被调用时所传实参的副本。修改形参的值并不会影响实参。按引用传递(c

2016-08-17 15:04:40 313

转载 extend函数的理解

相信很多的小白都对extend这个函数有很多的疑惑,今天就把这个根据自己的理解和网上的资料整理了一下。extend方法:在各种js框架下的设计。这个函数的功能基本都是实现对象的拷贝功能,即将一个对象的所有属属性拷贝到另外一个对象上去,这个函数使用的频率也很高,如果我们要将一个类的所有方法拷贝到另外方法上去,使用这个方法很方便的。. 在百度tangram js 框架中的实现bai...

2016-08-16 14:38:46 4957

转载 JS中的call()和apply()方法

1、方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 说明: call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 如果没有提供 thisObj 参数,那么 G

2016-08-16 13:06:35 228

翻译 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-08-16 11:49:54 220

原创 从今天开始正式的开始写属于自己的博客。

看到了这个帖子,自己突发奇想,突然想坚持做点什么。

2016-08-16 11:15:51 191

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除