0%

前言

默认的JavaScript计算字符串长度是按照字符数计算的,无论是1个汉字还是1个英文都计算为1个单位长度,但在某些环境中该值可能不够准确,例如在UTF-8中一个中文字符为3~4个字节,ZHS16GBK中为2个字节,这就需要用字符串的字节长度来准确描述一个字符串的长度。那么如何准确表达特定编码下的字符串字节长度呢?下面总结了一些方法。

阅读全文 »

问题的提出

在jQuery中我们可以轻易创建一个新的插件或者扩展部件库中已有的插件,使用以下的方法:

1
2
3
$.widget('namespace.widgetName', {
// 在此处定义部件属性/方法
});

其中namespace为部件指定一个命名空间,widgetName为部件名,后面的对象包含扩展该组件构造函数的属性和方法。在当前构造器函数被执行后,这个自定义组件的构造函数将包含自定义的属性/方法,将被应用到每一个通过该构造器新建的实例中。

但是有个问题,由于此处的定义仅仅作为部件构造函数的定义,因此每一个新创建的部件实例将会添加上构造函数上定义的属性和方法,因此每一个属性都是部件唯一的,那如果要添加所有该部件都可用的公共属性或方法呢?这就需要修改部件的原型对象了。

阅读全文 »

在很多JavaScript代码中都能看到这种写法:

1
2
3
(function () {
//...
})()

或者

1
2
3
!function () {
//...
}()

这种看起来比较奇葩的写法被称为立即执行函数,可以让JavaScript解释器在执行到此处代码时立即执行函数内部的代码。要理解立即执行函数需要区别函数声明和函数表达式的概念。

阅读全文 »

根据国家规定,通过域名备案的网站需要在网站底部展示网站的备案号,但是Hexo并没有配置备案号的选项,如果你使用NexT主题的话,可以通过修改主题配置文件来实现这个效果。

阅读全文 »

题目

输入一个链表,反转链表后,输出链表的所有元素。

链表结点结构如下:

1
2
3
4
5
6
7
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};
阅读全文 »

题目

把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。

阅读全文 »

题目

求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)

阅读全文 »

其实这个Blog已经搭建完成很久了,但是一直找不到时间来写,今天上班终于有时间摸鱼,于是在公司的电脑上安装了Node.js和Hexo,顺便搞定了写文章的环境。

最近的计划是将在实习期间写js代码遇到的坑记下来,坑实在是太多了写起来有些费时间。另外在Coursera参加的深度学习公开课已经快要结课了,如果可以的话也打算将期间学习的笔记放上来。

希望这次不会再次半途而废。