那些 CSS 背景图的技巧

CSS HTML float 搜索引擎

HTML的精髓在于文本的、结构化的数据格式。 这样的设计使得搜索引擎、屏幕阅读器、文本处理软件能够非常方便地读取信息。 尤其是CSS样式的分离与HTML5语义标签的提出,使得HTML的这一特性更加明显。 然而对于Web设计师,他们需要除文本外更加丰富的表示形式。 幸运的是CSS的分离,使得我们在不添加标记的同时,可以在页面上显示图片。 下面来看看这些有用的CSS背景图技术。

PKU 网关 Chrome 插件 PKUWebmaster 升级到 2.0 啦!

Chrome Github HTML JavaScript PKU

早在2013年,为了方便PKU的Chrome用户连接校内网官,包括Rea和我在内的鸟人团队一起编写了PKUWebmaster。 此后该插件历经了Chrome Notification 的标准化、PKU 网关接口的变化、以及整个Web前端技术的革新, 鸟人团队于近期意识到更新该插件的必要性。现已修复了既有BUG,并重写了设置页面。

安装与使用

2.0版本已经更新在Chrome商店了:

https://chrome.google.com/webstore/detail/pkuwebmaster(北京大学网关插件)/bnlipdfmheddpljigcaaamjpnbhhklkb

如果你希望使用最新的版本,可以下载Github仓库:

https://github.com/pku-birdmen/pkuwebmaster

并将src目录拖动至Chrome的『扩展程序』页面即可。

用正则表达式分析 URL

JavaScript 字符串 正则表达式 转义

正则表达式是编程语言中非常重要的一部分, 虽然至今都未被正式引入到C++中,╮(╯▽╰)╭。 因为绝大多数编程语言都内置了字符串类型,编程实践中对字符串的匹配和操作也非常频繁。 而正则表达式在多数情况下都会更加高效,语法也更为简洁。 本文借分析URL的场景,详述JavaScript中正则表达式的基本语法和常用函数。

正则表达式有非常多不同的实现, JavaScript的正则表达式基本符合最初贝尔实验室的规则, 同时从Perl语言引入了一些有用的扩展。 正则表达式最难以让人接受的一点在于太难阅读和调试,不允许空白字符和注释。 当然这也是它迷人的地方,正因如此而非常简洁和高效。 正如Vim一般,你需要学习很多东西才能上手使用,但这些努力绝对值得。

代码

在Web开发中正则表达式一点都不陌生,在表单验证时一定会用到。 甚至在AngularJS中,ng-pattern使用正则表达式增强了表单控件。 下面看一个正则表达式分析URL的例子:

var parse_url = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/;
var url = "https://harttle.land:80/tags.html?simple=true#HTML",
    result = parse_url.exec(url);
    blanks = '       ';
    fields = ['url', 'scheme', 'slash', 'host', 'port', 'path', 'query', 'hash'];
fields.forEach(function(field, i){
    console.log(field + ':' + blanks.substr(field.length) + result[i]);
});

JavaScript 实现原型继承

原型继承 JavaScript 作用域 继承

在原型继承模式中,我们不需要定义任何的类, 其实在概念上原型继承比类继承要简单许多。 毕竟不需要设计一整套嵌套的抽象类的层级。 在原型继承中,对象直接继承其他对象。

JavaScript支持多种面向对象编程风格,在JavaScript实现类的继承一文中介绍了JavaScript如何模拟基于类层级的继承机制。

JavaScript 实现类的继承

JavaScript 继承 原型继承 构造函数

JavaScript采取原型继承机制,对象直接继承其他对象;在类继承语言中,类继承其他类,对象是类的实例。事实上JavaScript提供了更加丰富的重用机制,可以模仿类继承,也可以支持更加复杂的代码重用模式。本文关注于如何用JavaScript模拟其他语言中的类继承机制。

在传统编程语言中,类继承机制至少提供了两方面的好处:1) 代码重用,只需要编写不同的那部分代码,减少开发成本;2) 引入类型系统,便于编译期类型检查,减少强制转换。

函数式JavaScript编程

JavaScript 函数式编程 级联调用 回调函数 柯里化 Lambda

也许你还觉得函数式编程很陌生,但函数式的编程风格已经渗透在 JavaScript 当中。 比如DOM中常见的回调函数、jQuery的级联写法、 lodash的partial函数、Java的Guava库… 到处都是函数式的编程风格。

啥叫函数式编程?Lisp?事实上只要语言将函数作为一等公民(或者借助工具达到类似效果) 就可以支持函数式编程。而将函数作为一等公民意味着函数可以像变量一样传参、赋值和返回。

上一页 下一页