[置顶] 设计模式分类(创建型模式、结构型模式、行为模式)

1.创建型模式 前面讲过,社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题。这里有6个具体的创建型模式可供研究,它们分别是: 简单工厂模式(Simple Factory) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory) 创建者模式(Builder) 原型模式(Prototype) 单例模式(S...
阅读(6965) 评论(3)

[置顶] 个人总结

浏览器兼容性问题又被称为网页兼容性或网站兼容性问题,指网页在各种浏览器上的显示效果可能不一致而产生浏览器和网页间的兼容问题。在网站的设计和制作中,做好浏览器兼容,才能够让网站在不同的浏览器下都正常显示。而对于浏览器软件的开发和设计,浏览器对标准的更好兼容能够给用户更好的使用体验。 因为不同浏览器使用内核及所支持的HTML(标准通用标记语言下的一个应用)等网页语言标准不同;以及用户客户端的环境不同(如分辨率不同)造成的显示效果不能达到理想效果。最常见的问题就是网页元素位置混乱,错位。...
阅读(1966) 评论(1)

在写邮箱模板页面兼容手机邮箱客户端时注意几点

在写邮箱模板时,常常在浏览下测试时,测试页面正常后,就给开发人员去嵌套程序,到测试时会发现文字比想要的大几个字段.这是怎么会事呢? 第一种可能是在局部标签上定义字号大小,不要继承父级或顶级的字号大小 第二种可能是没有定义布局的高度也可能会出现这样的问题; 在邮件模板如果有数字,比较薪资、号码编号,当点击他们后会出现是否打电话的弹框,可以加上下面标签: <meta name="format...
阅读(37) 评论(0)

console对应的使用方法

console.log([data][, …])向标准输出流打印字符并以换行符结束。该方法接收若干 个参数,如果只有一个参数,则输出这个参数的字符串形式。如果有多个参数,则 以类似于C 语言 printf() 命令的格式输出。 console.info([data][, …])该命令的作用是返回信息性消息,这个命令与console.log差别并不大,除了在chrome中只会输出文字外,其余的会显示...
阅读(76) 评论(0)

Express、Socket.io开发一个简易的聊天系统

Server端代码:var app = require('express')(); var server = require('http').Server(app); var io = require('socket.io')(server);app.set('view engine', 'ejs'); app.set('views',__dirname+'/'); app.set('view op...
阅读(72) 评论(0)

VUE 中的计算属性和观察者

计算属性和观察者计算属性模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。例如:div id="example"> {{ message.split('').reverse().join('') }}div>在这个地方,模板不再是简单的声明式逻辑。你必须看一段时间才能意识到,这里是想要显示变量 message 的翻转字符串。当你想要在模板中...
阅读(205) 评论(0)

Vue中的mixins(混合)使用方法

混合来源:https://cn.vuejs.org/v2/guide/mixins.html 基础混合 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混合对象可以包含任意组件选项。以组件使用混合对象时,所有混合对象的选项将被混入该组件本身的选项。例子:// 定义一个混合对象var myMixin = { created: function () { this.he...
阅读(76) 评论(0)

Vue中的过滤器使用方法

过滤器Vue.js 允许你自定义过滤器,可被用作一些常见的文本格式化。过滤器可以用在两个地方:mustache 插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符指示:{{ message | capitalize }}div v-bind:id="rawId | formatId">div>过滤器函数总接收表达式...
阅读(76) 评论(0)

Node.js 全局对象

Node.js 全局对象JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性。在 Node.js 我们可以直接访问到 ...
阅读(86) 评论(0)

对chai断言的学习总结

这不是一篇chai的API文档,也不会讲的很深(我也是初学者,资历不够),只是为初学者想学习chai做铺垫而已! 更深入的学习点这里: chai API 新手指南带着几个问题去学习? 什么是TDD 和BDD 有几种常用的断言方式 chai断言方式使用方法 它们的区别是什么 TDD和BDD是什么?TDD:测试驱动开发(Test-Driven Development)测试驱动开发是敏捷开发中的一项...
阅读(75) 评论(0)

移动端多行文本在横向屏和竖向屏下如何保持字号大小一致

今天在解决移动端页面时遇到一个问题就,页面中有一段描述文本在横向屏和竖向屏模式下文本字段大小不一致,也没有设置media查询,最后解决办法就是找到了text-size-adjuscss属性text-size-adjus:none取值: auto: 文本大小根据设备尺寸进行调整。 none: 文本大小不会根据设备尺寸进行调整。 percentage: 用百分比来指定文本大小在设备尺寸不同的情况下如何调...
阅读(106) 评论(0)

如何禁止浏览器中点回退按钮能回退到上一页?

概述当活动历史记录条目更改时,将触发popstate事件。如果被激活的历史记录条目是通过对history.pushState()的调用创建的,或者受到对history.replaceState()的调用的影响,popstate事件的state属性包含历史条目的状态对象的副本。需要注意的是调用history.pushState()或history.replaceState()不会触发popstate事...
阅读(197) 评论(0)

微信公众号分享到朋友圈的实现方式

一、概述微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,为微信用户提供更优质的网页体验。 此文档面向网页开发者介绍微信JS-SDK如何使用及相关注意事项。 JSSDK使用步骤步骤一:绑定域名先登录微信公众平...
阅读(246) 评论(0)

推荐一款http调试工具抓包charles

推荐一款http调试工具抓包charles学习教程:https://www.2cto.com/article/201406/310928.html...
阅读(103) 评论(0)

在移动端单行文本在不同的屏幕下当文本过长时增加省略号效果

iphone5效果 : iphone6Plus效果: 分析效果: 红:整行div样式,采用的是flex模式二端对齐;蓝:左侧div样式浅蓝:右侧div样式,设置一个最小宽度 min-width,在flex中不设置左侧可能会伸缩模式下会挤压右铡的宽度,想只使用width的话,把蓝色的div增加一个 flex:1属性;这样会自动处理省下的空间;绿:二个div采用float:left形式,宽度不能给...
阅读(127) 评论(0)

Vue-router导航钩子

正如其名,vue-router 提供的导航钩子主要用来拦截导航,让它完成跳转或取消。有多种方式可以在路由导航发生时执行钩子: 1.全局的 2.单个路由独享的 3.组件级的全局钩子 //定义一个路由 const router = new VueRouter({ ... })// 点击导航前调用 router.beforeEach((to, from, next) => { // ... })...
阅读(849) 评论(0)

FormData 对象的使用

通过FormData对象可以组装一组用 XMLHttpRequest发送请求的键/值对。它可以更灵活方便的发送表单数据,因为可以独立于表单使用。如果你把表单的编码类型设置为multipart/form-data ,则通过FormData传输的数据格式和表单通过submit() 方法传输的数据格式相同如何创建一个FormData对象var formData = new FormData();formD...
阅读(218) 评论(0)

FormData表单字段数据对象

FormData接口提供了一种方法,可以轻松地构造一组表示表单字段及其值的键/值对,然后使用xmlsend.send()方法轻松地发送这些值。如果将编码类型设置为“多部分/表单数据”,则使用相同的格式。This feature is available in Web Workers.这个特性在Web工作者中是可用的构造函数FormData() 创建一个新的FormData对象。对象方法Fo...
阅读(327) 评论(0)

Sass预编译语言之@mixin混合的几种声明和调用方式

sass中使用@mixin声明混合,可以传递参数,参数名以$符号开始,多个参数以逗号分开,也可以给参数设置默认值。 声明的@mixin通过@include来调用。1、声明一个没有参数的 @mixin,设置盒模式水平居中的样式@mixin block-center { margin-left:auto; margin-right:auto; }调用方式:@include block-...
阅读(265) 评论(0)

预编译语言Sass中几种常用的写法

在项目中用到了sass的语法,为了写出更简洁使用的代码,要不断地温习,所以今天把sass的语法温习了一遍;提供一个在线编译工具:sass编译工具 .box { font-size:10px; // sass3.3.0中新增的功能,用来跳出选择器嵌套的。 // 默认所有的嵌套,继承所有上级选择器,但有了这个就可以跳出所有上级选择器。 // 普通跳出嵌套 单个选择器跳出 @at-ro...
阅读(212) 评论(0)

JavaScript中JSON对象

JSON的语法可以表示以下三种类型的值。 * 简单值:使用与JavaScript相同的语法,可以在JSON中表示字符串、数值、布尔值和null 。但JSON不支持JavaScript中的特殊值undefined。 * 对象:对象作为一种复杂数据类型,表示的是一组有序的键值对儿。而每个键值对儿中的值可以是简单值,也可以是复杂数据类型的值。 * 数组:数组也是一种复杂的数据类型,表示一组有序的列表,可以通过数值索引来访...
阅读(207) 评论(0)

纯CSS3实现移动端展开和收起效果

纯CSS3实现移动端展开和收起效果 采用技术点: CSS3中的伸缩盒布局Flexible Box Layout CSS中的关系选择符 CSS中的伪类选择符 CSS中的属性选择符...
阅读(1212) 评论(0)
354条 共18页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:888609次
    • 积分:11014
    • 等级:
    • 排名:第1593名
    • 原创:279篇
    • 转载:73篇
    • 译文:2篇
    • 评论:166条
    博客专栏
    最新评论