后飞的老笨鸟

A blogging framework for hackers.

jQuery Fundamentals 笔记 01

| Comments

jQuery 是目前使用最广泛的 javascript 函数库,全球前10000个访问最高的网站中,有65%使用了 jQuery,是目前最受欢迎的 JavaScript 库。之所以这么受欢迎,是因为 jQuery 能让你做到 “Write less, do more”.

在线教程中,名气较大有 jQuery Fundamentals , 我准备写些相关笔记方便自己复习。

JavaScript Basics

how to write comments

// I love emmet!
var foo;

// 用于单行

/* hehe
   hehe
*/

function sass(foo /* blabal */, bar /* blabla */) {
}

/* */ 用于多行或者行内

The building blocks of JavaScript

Var

提问: 变量名不能以什么开头?

Functions

var addTwoNum = function() {
    return a+b;
}

function expression

function addTwoNum(a, b) {
    return a+b;
}

function declaration

两者都可以表达函数,但是最好用前者,为什么?

Functions and variable scope

简单说就是警惕 global, 变量前面没事就写个 var,安全第一~

Objects

以下五种不是 Objects

  • strings(text)
  • booleans(true/false)
  • numbers
  • undefined
  • null

Accessing properties

var person = {
    name: 'bush',
    age: 3
};

console.log('person[age]');
console.log(person.name);

Bracket notation and dot notation

Objects methods

var person = {
    name: 'foo',
    age: 3,
    greet: function(name) {
        console('Hi' + name);
        }
    };

person.greet(person.name);

The meaning of this

window.color = "red";
var o = {color: "blue"};

function sayColor() {
    alert(this.color);
}

sayColor();     //"red"

o.sayColor = sayColor;
o.sayColor();   //"blue"

用下面的两个函数可以强制改变 this 指定的对象: .call() vs .apply() 这两个函数实在是太像了,以至于看完本章以后脑子里面还是一片糨糊,也可以看看 stackoverflow

foo.apply(person, ["hello", "wow"]);
foo.call(person, "hello", "wow");

不管是哪一个,都有能对某个对象直接执行本身不具备的 method 而不必修改对象本身的妙用。

Objects in jQuery

简单说就是利用了 CSS 的选择符的便利性

Arrays

注意索引从0开始即可

Logic and Truthiness

1 is truthy, and there are five values in JavaScript that is falsy.

  • null
  • NaN
  • 0
  • undefined

The Ternary Operator

var name = (dim === "true") ? "yes" : "no";

结语

好吧,成功地把以前的语文老师改造成体育老师了,顺便也打了几行代码,感觉神清气爽多了~ 打键盘,更健康!

Rake New_post 出错

| Comments

今天更新博客的时候,运行命令提示错误:

You have already activated rake 0.9.6, but your Gemfile requires rake 0.9.2.2. Using bundle exec may solve this.

由于我并不使用 ruby,所以看到这提示百思不得其解,难道还要我降级 rake 不成?最后索性把 Octopress 目录下的文件内容查看了一遍,发现 Gemfile 里面涉及了 rake 版本,于是进行了修改:

gem 'rake', '~> 0.9.6'

重新运行命令,yeah!

命令行下使用词典

| Comments

Linux 下各种词典百花齐放,从我以前用的 stardict 到现在的 goldendict,个个功能都很强大,但是有时候我只想查词义,这时候觉得前面几个软件都过于重量级,所以就找了一些在命令行下使用的词典。

一、dictd

这是一个很”古老”的软件了,使用 dict 协议,gentoo源里面提供了很多词典,我比较喜欢使用 dictd-wn,也就是 wordnet

安装

emerge -av dictd-wn

使用

如果想要搜索 “foo”,输入:

dict foo

上面的结果会把你安装的所有词典的查询结果显示出来,如果只想在 wordnet 里面查找,只要:

dict -d wn foo

不过每次都要输入这么长的命令实在是太烦人了,这时当然是要:

alias xxx="dict -d wn"

二、wn

事实上 wn 就是 wordnet 在命令行下的查询命令,只不过输出的格式不佳,所以被我弃用了。 如果一定要用,执行:

wn -over foo

三、youdao-free

这是一个 python 脚本,用起来蛮方便的,输出格式也很好。下载下来后直接执行:

python dict.py foo

当然了,做为懒人,肯定要:

alias xxx="python dict.py"
source .bashrc

Hello World

| Comments

虽然很少写博客,但是觉得留一个博客还是有必要的,起码留给自己一点在东方的生存空间。

不知道我会在这个博客写些什么,也许只是给自己的生活备个份,在这浩瀚无边的宇宙中留个脚印。

无论这儿会留下什么,不管答案是不是42,作为开头,一定是 Hello, world!