主要是看阮一峰的教程时,他参考书目里有这一本中文的,

找来一看,果然高。。

练习一下。

  1. function Base(name) {
  2. this.name = name;
  3. this.getName = function() {
  4. return this.name;
  5. };
  6. }
  7.  
  8. function Child(id) {
  9. this.id = id;
  10. this.getId = function() {
  11. return this.id;
  12. };
  13. }
  14. Child.prototype = new Base("base");
  15. var c1 = new Child("child");
  16. console.log(c1.getId(), c1.getName());
  17.  
  18. function Person(name, age) {
  19. this.name = name;
  20. this.age = age;
  21.  
  22. this.getName = function() {
  23. return this.name;
  24. };
  25.  
  26. this.getAge = function() {
  27. return this.age;
  28. };
  29.  
  30. this.getNameAge = function() {
  31. return this.name + this.age;
  32. };
  33. }
  34.  
  35. var tom = new Person("Tom", 38);
  36. var jerry = new Person("Jerry", 6);
  37. console.log(tom.getName());
  38. console.log(jerry.getAge());
  39.  
  40. var jack = {
  41. name: "jack",
  42. age: 26,
  43. };
  44.  
  45. var abruzzi = {
  46. name: "abruzzi",
  47. age: 26,
  48. };
  49.  
  50. function printName() {
  51. return this.name;
  52. }
  53.  
  54. console.log(printName.call(jack));
  55. console.log(printName.call(abruzzi));
  56.  
  57. function Address(street, xno) {
  58. this.street = street || "HuangQuan Road";
  59. this.xno = xno || 135;
  60. this.toString = function() {
  61. return "street : " + this.street + ", No : " + this.xno;
  62. };
  63. }
  64.  
  65. function Person(name, age, addr) {
  66. this.name = name || 'unknown';
  67. this.age = age || 34;
  68. this.addr = addr || new Address(null, null);
  69. this.getName = function() {return this.name;};
  70. this.getAge = function() {return this.age;};
  71. this.getAddr = function() {return this.addr.toString();};
  72. }
  73.  
  74. var jack = new Person('jack', 26, new Address("QingHai Road", 135));
  75. var abruzzi = new Person('abruzzi', 26);
  76.  
  77. console.log(jack.getName());
  78. console.log(jack.getAge());
  79. console.log(jack.getAddr());
  80. console.log(abruzzi.getName());
  81. console.log(abruzzi.getAge());
  82. console.log(abruzzi.getAddr());
  83.  
  84. function p() {
  85. console.log("invoke p by ()");
  86. }
  87.  
  88. p.id = "func";
  89. p.type = "function";
  90.  
  91. console.log(p);
  92. console.log(p.id + ":" + p.type);
  93. console.log(p());
  94.  
  95. function adPrint(str, len, option) {
  96. var s = str || "default";
  97. var l = len || s.length;
  98. var o = option || "i";
  99.  
  100. s = s.substring(0, l);
  101. switch(o) {
  102. case "u":
  103. s = s.toUpperCase();
  104. break;
  105. case "l":
  106. s =s.toLowerCase();
  107. break;
  108. default:
  109. break;
  110. }
  111. console.log(s);
  112. }
  113.  
  114. console.log(adPrint("Hello, world"));
  115. console.log(adPrint("Hello, world", 5));
  116. console.log(adPrint("Hello, world", 5, "l"));
  117. console.log(adPrint("Hello, world", 5, "u"));
  118.  
  119. var jack = {
  120. name: "jack",
  121. age: 26,
  122. };
  123.  
  124. var abruzzi = {
  125. name: "abruzzi",
  126. age: 27,
  127. };
  128.  
  129. function printName() {
  130. return this.name + ":" + this.age;
  131. }
  132.  
  133. function setName(name) {
  134. this.name = name;
  135. }
  136.  
  137. setName.apply(jack, ["Jack Sept."]);
  138. console.log(printName.apply(jack));
  139. setName.call(jack,"Jack Sept.t");
  140. console.log(printName.apply(jack));
  141.  
  142. function add(x, y) {
  143. return x + y;
  144. }
  145.  
  146. var a = 0;
  147. a = add;
  148. var b = a(2, 3);
  149. console.log(b);
  150.  
  151. var obj = {
  152. id: "obj1",
  153. };
  154.  
  155. obj.func = add;
  156. console.log(obj.func(2, 3));
  157.  
  158. function adPrint2(str, handler) {
  159. console.log(handler(str));
  160. }
  161. function up(str) {
  162. return str.toUpperCase();
  163. }
  164. function low(str) {
  165. return str.toLowerCase();
  166. }
  167.  
  168. console.log(adPrint2("Hello,world", up));
  169. console.log(adPrint2("Hello,world", low));
  170.  
  171. function currying() {
  172. return function() {
  173. console.log("curring");
  174. };
  175. }
  176. currying();
  177. currying()();
  178.  
  179. var array = [1, 2, 3, 4, 5];
  180. console.log(array.length);
  181. array.length = 3;
  182. console.log(array.length);
  183. console.log(array);
  184. var stack = new Array();
  185. stack['second'] = "okay, then";
  186. stack['first'] = 3.1415;
  187. stack['third'] = new Date();
  188.  
  189. for(var item in stack) {
  190. console.log(typeof stack[item]);
  191. }
  192. console.log(stack.length);
  193.  
  194. var array = [];
  195. array.push(1);
  196. array.push(2);
  197. array.push(3);
  198. array.push("four");
  199. array.push("five");
  200. array.push(3.14159);
  201.  
  202. var len = array.length;
  203. for(var i = 0; i < len; i++) {
  204. console.log(typeof array[i]);
  205. }
  206. for (var i = 0; i < len; i++) {
  207. console.log(array.pop());
  208. }
  209. console.log(array.length);
  210. array = ["one", "two", "three", "four", "five"];
  211. var str1 = array.join(",");
  212. var str2 = array.join("|");
  213. console.log(str1);
  214. console.log(str2);
  215. var another = ["this", "is", "another", "array"];
  216. var another2 = ["yet", "is", "another", "array2"];
  217. var bigArray = array.concat(another, another2);
  218. console.log(bigArray);
  219. console.log(bigArray.slice(5, 9));
  220. console.log(bigArray.splice(5, 2));
  221.  
  222. var emailval = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
  223. console.log(emailval.test("kmustlinux@hotmail.com"));
  224. console.log(emailval.test("@hotmail.com"));
  225. var variable = /[a-zA-Z_][a-zA-Z0-9_]*/;
  226. console.log(variable.test("hello"));
  227. console.log(variable.test("0871"));
  228. var pid = /^(\d{15}|\d{18})$/;
  229. var mphone = /\d{11}/;
  230. var phone = /\d{3, 4}-\d{7, 8}/;
  231. mphone.test("13865732134");
  232. var str = "life is very much like a mirror.";
  233. var result = str.match(/is|a/g);
  234. console.log(result);
  235. var str = "<span>Welcome, John</span>";
  236. var result = str.replace(/span/g, "div");
  237. console.log(result);
  238. var result = str.replace(/(\w+), \s(\w+)/g, "$2 $1");
  239. console.log(result);
  240. var str = "john: wow : tomorrow: happy";
  241. var result = str.split(/s*:\s*/);
  242. console.log(result);
  243. var str = "Tomorrow is another day";
  244. var index = str.search(/another/);
  245. console.log(index);
  246.  
  247. var outter = [];
  248. function closeTest() {
  249. var array = ["one", "two", "three", "four", "five"];
  250. for(var i = 0; i < array.length; i++) {
  251. var x = {};
  252. x.no = i;
  253. x.text = array[i];
  254. x.invoke = function(no) {
  255. return function() {
  256. console.log(no);
  257. };
  258. }(i);
  259. outter.push(x);
  260. }
  261. }
  262. closeTest();
  263. console.log(outter[0].invoke());
  264. console.log(outter[1].invoke());
  265. console.log(outter[2].invoke());
  266. console.log(outter[3].invoke());
  267. console.log(outter[4].invoke());

推荐牛X的一本JS书的更多相关文章

  1. 推荐5本纯Java技术书,你看过几本?

    51小长假了,大家应该对它又爱又痛,爱的是终于可以到处浪了,痛的是没钱只能穷游,而且还到处都是人,结果变成了堵高速.去看人头.去蒸饺子,真是受罪啊.. 所以,对于小长假的痛,我相信还是有一部分人会选择 ...

  2. 写了两年的一本.NET书现在终于在北京最大的新华书店上架了,然而我却很难找到工作了。

    两年前,有几个出版社的编辑在QQ上跟我联系写书的事情,好奇为什么出版社会找到我这样一个很普通的.NET技术人员,其中一个编辑说他们分析了很多博客园博主的文章阅读量和写作质量,觉得我的博客还是不错的.尽 ...

  3. [No000058]一口气读完一本英语书

    个人:"如何学好英语?"99个人会回答:"去,读英文原著." 然而这事儿吧,恐怕比坚持背单词还难.无论少侠们背过多少单词,最后都会败在生词太多.句子太难的坎儿上 ...

  4. 《C语言入门1.2.3—一个老鸟的C语言学习心得》—清华大学出版社炮制的又一本劣书及伪书

    <C语言入门1.2.3—一个老鸟的C语言学习心得>—清华大学出版社炮制的又一本劣书及伪书 [薛非评] 区区15页,有80多个错误. 最严重的有: 通篇完全是C++代码,根本不是C语言代码. ...

  5. 只推荐一本 JavaScript 书,你推荐哪本?

    嗨,我是 Martin.最近为了统一社区称谓,都换成 Martin Ager Adams. 前言 前端世界,技术层数不穷.尽管更新速度已经放缓,刚入门的票友总还是鸭梨山大. 前端三剑客 -- HTML ...

  6. 如果只推荐一本 Python 书,我要 Pick 它!

    今年二月初,我偶然看到了一条推特: <流畅的Python>一书的作者发布了一条激动人心的消息:他正在写作第二版! 如果要票选最佳的 Python 进阶类书目,这本书肯定会是得票率最高的书籍 ...

  7. 【一月一本技术书】-【Go语言设计与实现】- 9月

    Go : 2009.11.10 代表作:Docker.k8s.etcd 模仿C语言,目标:互联网的C语言 讲的晦涩难懂....硬板..放弃了好几次才读完.满分10分,打6分. 下个月:Python数据 ...

  8. 最牛的打字效果JS插件 typing.js

    最新在做公司的一个项目,需要实现一个敲打代码的动画效果,粗意味比较简单,果断自己直接开写,写着写着发现是一个坑.需要支持语法高亮,并不能直接简单的用setTimeout来动态附件innerHTML.苦 ...

  9. 40叔:自学的伙伴推荐看的PHP视频和书藉

    记录一下我的学习编程经历,在自学的路上,看了不少的断断续续的看了不少的视频,现在只会一点PHP增删改查. 同样迷的有没有? 要自己用原生的开发个CMS 或者BBS,ask 系统好像还差的远. 所以回头 ...

随机推荐

  1. mysql 强制走索引

    查询是数据库技术中最常用的操作.查询操作的过程比较简单,首先从客户端发出查询的SQL语句,数据库服务端在接收到由客户端发来的SQL语句后, 执行这条SQL语句,然后将查询到的结果返回给客户端.虽然过程 ...

  2. KSImageNamed-Xcode插件在xcode 6.4/6.3或其他版本中不能使用解决方案

    大家都知道这个插件很强大,但是现在这个插件最新版貌似只支持xcode7 ,需要修改KSImageNamed-xcode中的一个配置文件,添加uuid才能使他支持xcode6.3或6.4 进入下载的插件 ...

  3. self指向函数地址 动态调用函数的简单例子

    #import <Foundation/Foundation.h> @interface Person : NSObject - (void)test1; - (void)test2:(N ...

  4. C#——字符操作

    题目要求:用户随机输入字母及数字组成的字符串,当用户连续输入字符串‘hello’时,程序结束用户输入,并分别显示用户输入的字母及数字的数目. 代码: using System; using Syste ...

  5. CSS常见的浏览器前缀

    为了让浏览器识别某些专属属性,有时候需要在CSS属性前增加浏览器前缀 -ms-:Microsoft IE -moz-:Mozilla Firefox -o-:Opera Opera -webkit-: ...

  6. node.js笔记——gulp

    1.全局安装 npm install gulp -g 2.安装到具体目录,并安装相应的自动化插件 npm install -save-dev gulp gulp-concat gulp-minify- ...

  7. 洛谷 P1508 Likecloud-吃、吃、吃

    P1508 Likecloud-吃.吃.吃 题目提供者JosephZheng 标签 动态规划 难度 普及/提高- 题目背景 问世间,青春期为何物? 答曰:"甲亢,甲亢,再甲亢:挨饿,挨饿,再 ...

  8. Poj 2586 / OpenJudge 2586 Y2K Accounting Bug

    1.Link: http://poj.org/problem?id=2586 2.Content: Y2K Accounting Bug Time Limit: 1000MS   Memory Lim ...

  9. Ubuntu 14.04下java开发环境的搭建--2--Eclipse的安装

    前面说了JDK的安装,http://www.cnblogs.com/bcsflilong/p/4196536.html 下面我们来安装Eclipse! 安装Eclipse 的前提是,你的JDK已经安装 ...

  10. api接口通信安全性

    1.采用https协议传输数据 2.白名单.账号密码验证 3.密钥签名token 4.三次握手请求数据前,需要拿到密码才可以请求数据,否则异常