推荐牛X的一本JS书
主要是看阮一峰的教程时,他参考书目里有这一本中文的,
找来一看,果然高。。
练习一下。

function Base(name) {
this.name = name;
this.getName = function() {
return this.name;
};
}
function Child(id) {
this.id = id;
this.getId = function() {
return this.id;
};
}
Child.prototype = new Base("base");
var c1 = new Child("child");
console.log(c1.getId(), c1.getName());
function Person(name, age) {
this.name = name;
this.age = age;
this.getName = function() {
return this.name;
};
this.getAge = function() {
return this.age;
};
this.getNameAge = function() {
return this.name + this.age;
};
}
var tom = new Person("Tom", 38);
var jerry = new Person("Jerry", 6);
console.log(tom.getName());
console.log(jerry.getAge());
var jack = {
name: "jack",
age: 26,
};
var abruzzi = {
name: "abruzzi",
age: 26,
};
function printName() {
return this.name;
}
console.log(printName.call(jack));
console.log(printName.call(abruzzi));
function Address(street, xno) {
this.street = street || "HuangQuan Road";
this.xno = xno || 135;
this.toString = function() {
return "street : " + this.street + ", No : " + this.xno;
};
}
function Person(name, age, addr) {
this.name = name || 'unknown';
this.age = age || 34;
this.addr = addr || new Address(null, null);
this.getName = function() {return this.name;};
this.getAge = function() {return this.age;};
this.getAddr = function() {return this.addr.toString();};
}
var jack = new Person('jack', 26, new Address("QingHai Road", 135));
var abruzzi = new Person('abruzzi', 26);
console.log(jack.getName());
console.log(jack.getAge());
console.log(jack.getAddr());
console.log(abruzzi.getName());
console.log(abruzzi.getAge());
console.log(abruzzi.getAddr());
function p() {
console.log("invoke p by ()");
}
p.id = "func";
p.type = "function";
console.log(p);
console.log(p.id + ":" + p.type);
console.log(p());
function adPrint(str, len, option) {
var s = str || "default";
var l = len || s.length;
var o = option || "i";
s = s.substring(0, l);
switch(o) {
case "u":
s = s.toUpperCase();
break;
case "l":
s =s.toLowerCase();
break;
default:
break;
}
console.log(s);
}
console.log(adPrint("Hello, world"));
console.log(adPrint("Hello, world", 5));
console.log(adPrint("Hello, world", 5, "l"));
console.log(adPrint("Hello, world", 5, "u"));
var jack = {
name: "jack",
age: 26,
};
var abruzzi = {
name: "abruzzi",
age: 27,
};
function printName() {
return this.name + ":" + this.age;
}
function setName(name) {
this.name = name;
}
setName.apply(jack, ["Jack Sept."]);
console.log(printName.apply(jack));
setName.call(jack,"Jack Sept.t");
console.log(printName.apply(jack));
function add(x, y) {
return x + y;
}
var a = 0;
a = add;
var b = a(2, 3);
console.log(b);
var obj = {
id: "obj1",
};
obj.func = add;
console.log(obj.func(2, 3));
function adPrint2(str, handler) {
console.log(handler(str));
}
function up(str) {
return str.toUpperCase();
}
function low(str) {
return str.toLowerCase();
}
console.log(adPrint2("Hello,world", up));
console.log(adPrint2("Hello,world", low));
function currying() {
return function() {
console.log("curring");
};
}
currying();
currying()();
var array = [1, 2, 3, 4, 5];
console.log(array.length);
array.length = 3;
console.log(array.length);
console.log(array);
var stack = new Array();
stack['second'] = "okay, then";
stack['first'] = 3.1415;
stack['third'] = new Date();
for(var item in stack) {
console.log(typeof stack[item]);
}
console.log(stack.length);
var array = [];
array.push(1);
array.push(2);
array.push(3);
array.push("four");
array.push("five");
array.push(3.14159);
var len = array.length;
for(var i = 0; i < len; i++) {
console.log(typeof array[i]);
}
for (var i = 0; i < len; i++) {
console.log(array.pop());
}
console.log(array.length);
array = ["one", "two", "three", "four", "five"];
var str1 = array.join(",");
var str2 = array.join("|");
console.log(str1);
console.log(str2);
var another = ["this", "is", "another", "array"];
var another2 = ["yet", "is", "another", "array2"];
var bigArray = array.concat(another, another2);
console.log(bigArray);
console.log(bigArray.slice(5, 9));
console.log(bigArray.splice(5, 2));
var emailval = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
console.log(emailval.test("kmustlinux@hotmail.com"));
console.log(emailval.test("@hotmail.com"));
var variable = /[a-zA-Z_][a-zA-Z0-9_]*/;
console.log(variable.test("hello"));
console.log(variable.test("0871"));
var pid = /^(\d{15}|\d{18})$/;
var mphone = /\d{11}/;
var phone = /\d{3, 4}-\d{7, 8}/;
mphone.test("13865732134");
var str = "life is very much like a mirror.";
var result = str.match(/is|a/g);
console.log(result);
var str = "<span>Welcome, John</span>";
var result = str.replace(/span/g, "div");
console.log(result);
var result = str.replace(/(\w+), \s(\w+)/g, "$2 $1");
console.log(result);
var str = "john: wow : tomorrow: happy";
var result = str.split(/s*:\s*/);
console.log(result);
var str = "Tomorrow is another day";
var index = str.search(/another/);
console.log(index);
var outter = [];
function closeTest() {
var array = ["one", "two", "three", "four", "five"];
for(var i = 0; i < array.length; i++) {
var x = {};
x.no = i;
x.text = array[i];
x.invoke = function(no) {
return function() {
console.log(no);
};
}(i);
outter.push(x);
}
}
closeTest();
console.log(outter[0].invoke());
console.log(outter[1].invoke());
console.log(outter[2].invoke());
console.log(outter[3].invoke());
console.log(outter[4].invoke());

推荐牛X的一本JS书的更多相关文章
- 推荐5本纯Java技术书,你看过几本?
51小长假了,大家应该对它又爱又痛,爱的是终于可以到处浪了,痛的是没钱只能穷游,而且还到处都是人,结果变成了堵高速.去看人头.去蒸饺子,真是受罪啊.. 所以,对于小长假的痛,我相信还是有一部分人会选择 ...
- 写了两年的一本.NET书现在终于在北京最大的新华书店上架了,然而我却很难找到工作了。
两年前,有几个出版社的编辑在QQ上跟我联系写书的事情,好奇为什么出版社会找到我这样一个很普通的.NET技术人员,其中一个编辑说他们分析了很多博客园博主的文章阅读量和写作质量,觉得我的博客还是不错的.尽 ...
- [No000058]一口气读完一本英语书
个人:"如何学好英语?"99个人会回答:"去,读英文原著." 然而这事儿吧,恐怕比坚持背单词还难.无论少侠们背过多少单词,最后都会败在生词太多.句子太难的坎儿上 ...
- 《C语言入门1.2.3—一个老鸟的C语言学习心得》—清华大学出版社炮制的又一本劣书及伪书
<C语言入门1.2.3—一个老鸟的C语言学习心得>—清华大学出版社炮制的又一本劣书及伪书 [薛非评] 区区15页,有80多个错误. 最严重的有: 通篇完全是C++代码,根本不是C语言代码. ...
- 只推荐一本 JavaScript 书,你推荐哪本?
嗨,我是 Martin.最近为了统一社区称谓,都换成 Martin Ager Adams. 前言 前端世界,技术层数不穷.尽管更新速度已经放缓,刚入门的票友总还是鸭梨山大. 前端三剑客 -- HTML ...
- 如果只推荐一本 Python 书,我要 Pick 它!
今年二月初,我偶然看到了一条推特: <流畅的Python>一书的作者发布了一条激动人心的消息:他正在写作第二版! 如果要票选最佳的 Python 进阶类书目,这本书肯定会是得票率最高的书籍 ...
- 【一月一本技术书】-【Go语言设计与实现】- 9月
Go : 2009.11.10 代表作:Docker.k8s.etcd 模仿C语言,目标:互联网的C语言 讲的晦涩难懂....硬板..放弃了好几次才读完.满分10分,打6分. 下个月:Python数据 ...
- 最牛的打字效果JS插件 typing.js
最新在做公司的一个项目,需要实现一个敲打代码的动画效果,粗意味比较简单,果断自己直接开写,写着写着发现是一个坑.需要支持语法高亮,并不能直接简单的用setTimeout来动态附件innerHTML.苦 ...
- 40叔:自学的伙伴推荐看的PHP视频和书藉
记录一下我的学习编程经历,在自学的路上,看了不少的断断续续的看了不少的视频,现在只会一点PHP增删改查. 同样迷的有没有? 要自己用原生的开发个CMS 或者BBS,ask 系统好像还差的远. 所以回头 ...
随机推荐
- ios Swift 算法
// Playground - noun: a place where people can play import Cocoa var nums = Int[]() ... { nums.appen ...
- 【Unix环境高级编程】编写变长参数函数
文件的格式输入输出函数都支持变长参数.定义时,变长参数列表通过省略号'...'表示, 因此函数定义格式为: type 函数名(parm1, parm2,parmN,...); Unix的变长参数通过v ...
- Swift闭包(Closure)
语法: { (parameters) ->return type in statements} 实例:采用函数实现: let names =["Chris", "A ...
- OC6_复合类的类存管理
// // Person.h // OC6_复合类的类存管理 // // Created by zhangxueming on 15/6/18. // Copyright (c) 2015年 zhan ...
- 读<<CLR via C#>> 详谈泛型
1,什么是泛型? 答:泛型是类型的模板,类型是实例(对象)的模板.C#提供了5种泛型:类,接口,委托,结构和方法. 2,使用泛型有什么好处? 答:继承实现的是"代码重用",而泛型实 ...
- 如何管好.net的内存(托管堆和垃圾回收)
一:C#标准Dispose模式的实现 需要明确一下C#程序(或者说.NET)中的资源.简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类: 托管资源:由CLR管理分配和释放的资源,即由CL ...
- Windows Phone开发之”给我好评“
课余时间搞了一年的Windows phone开发,最近又开始重拾C#编程之道,之前下载许多应用都有"给我好评"的界面,那个时候自己的应用都没有这个界面,于是到处百度谷歌,却 ...
- Winform的窗体美化心酸路
我想做一位狂热的程序猿粪子! 其实一直都很想做点什么,工作原因林林种种导致停止了前进的脚步. 有时会为自己的一个目标狂热,但经常发觉激情过后更多的总是为自己找借口! 最近感觉奔三将近.逐有感而发,不能 ...
- 对.Net WebSocket 和Socket的原理的思考
今早上班路上接到了一个朋友的微信信息,问我对WebSocket 是否熟悉,一楞,印象之中没有用过这个类....来到公司后,得空问了一下度娘,原来这是一个随着HTML5推出的一种新协议,意义在于能实现浏 ...
- linux之cat命令
1. cat 接普通文件名,会把文件内容打印到屏幕:2. cat > file,这个可以向文件“file”写入内容,最后按 Ctrl + D 结束输入,会将你输入的数据保存到文件. cat主要有 ...