大熊猫猪侯佩 (︶^︶)

hopy是一只贪吃贪睡爱鹅鹅的大熊猫猪

javascript、ruby和C性能一瞥(2)

好吧,最后让我们用C来实现,看看再能榨取多少性能。注意我没有改变算法,C的算法和之前的3种都是基本相同的:#include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <math....

2015-04-01 17:42:24

阅读数 1284

评论数 0

javascript、ruby和C性能一瞥(1)

测试一下本地js、浏览器中的js以及ruby对于类似算法的性能。结果有些意外:浏览器js最快,本地其次当相差很小;ruby最慢而且不是一个数量级的; 因为写的匆忙,可能有重大问题没能看出来,请各位高人不吝赐教。 代码均未作优化,我们依次来看: 首先是浏览器的:<!DOCTYPE htm...

2015-04-01 15:50:48

阅读数 970

评论数 0

javascript加RoR实现JSONP

我们知道不同域中的js代码受同源策略的限制,不同域中的AJAX同样受此限制,不过使用html中的script远程脚本可以跳过该限制,下面我们实际看一下利用RoR和js如何实现所谓的JSONP。 这里只是简单地演示一下功能,并没有严格的实现JSONP,如果是那样需要用一个函数包容JSON对象主体:...

2015-03-29 10:56:12

阅读数 1305

评论数 0

javascript操作select元素一例

熟悉一下js对select元素的操作,html页面中建立一个form,其中包含一个select元素和submit按钮。 当选择select中某一项时改变其文字,当select中所有项的文字都改变后,重新恢复它们。 当按下submit时关闭窗口本身,代码如下:<!DOCTYPE html&...

2015-03-26 16:37:27

阅读数 678

评论数 0

javascript访问html元素的内容(2)

对于(1)中最后一个包装方式创建的是一个方法,我们必须以方法调用的方式来使用它,这和其他默认的以属性返回结果略有不同,如果有强迫症的童鞋有些伤不起,那么我们下面就把它实现为属性返回的方式://children是默认属性,遂起一个中文糊糊的名字 :) HTMLElement.prototype = ...

2015-03-26 10:13:44

阅读数 587

评论数 0

javascript访问html元素的内容(1)

形如如下格式的html元素:<p id="my_p">I'm <strong>BIG</strong> panda!!!</p>有3种方式获取其内容,可以获取起全部的子内容,或是获取其子内容的text纯文本标识,或是以对象方式获取...

2015-03-26 09:44:35

阅读数 812

评论数 0

javascript中通过元素id和name直接取得元素

我们知道一些第三方的js库对如何快速选取html中的元素做了一些简化,貌似十分高深莫测,其实也不然。而且js本身自带了对于特殊元素的简便选取的方法,下面就为大家简单介绍下。 在html中,一般最直接的辨别html元素使用的是name和id属性,两者有着细微的不同:id必须页面唯一,但name可以...

2015-03-25 15:51:01

阅读数 876

评论数 0

javascript语言扩展:可迭代对象(5)

文章1-4篇说的都是js中的可迭代对象,下面让我们看看ruby中的等价物。 不可否认,ruby中对于迭代器和生成器的语法都相当简洁;ruby从一开始就有一个简洁的基因,而js后来的不断扩充使得其有些语法比较“别扭”和“奇怪”,虽说ruby也不比js小几岁啊!(官方的说法是一个1992年一个199...

2015-03-22 13:28:50

阅读数 984

评论数 0

javascript语言扩展:可迭代对象(4)

js 1.7中还包含一个数组推导(array comprehension)的特性,如果不在最后介绍它好像显得不怎么完整。 数组推导其实很简单:let a = [x*x for(x in range(0,10)) if(x%2===0)];以上代码中的range()返回一个生成器对象。上述代码等价...

2015-03-22 11:47:28

阅读数 742

评论数 0

javascript语言扩展:可迭代对象(3)

除了前2篇文章中描述的可迭代对象以外,在js语言扩展中生成器对象,也可以作为可迭代对象。 这里用到一个新的关键字yield,该关键字在函数内部使用,用法和return类似,返回函数中的一个值;yield和return区别在于,使用yield的函数“返回”的这个值是可保持内部状态的。(我也没办法用...

2015-03-22 11:29:14

阅读数 625

评论数 0

javascript语言扩展:可迭代对象(2)

在文章迭代器(1)中我们简单介绍了如何创建一个迭代器对象;出于某种考虑你可能想

2015-03-22 09:34:11

阅读数 748

评论数 0

javascript语言扩展:可迭代对象(1)

在ECMAScript中我们知道可以通过for in语句进行对象属性的遍历,当然这些属性不包括继承而来的属性:var ary = [1,2,3,"aa",4]; for(i in ary) console.log(i); //遍历属性名称在firefox以及其他浏览器实...

2015-03-22 09:29:25

阅读数 770

评论数 0

javascript中如何让类工厂和构造函数变成同一个函数

我们知道在js中可以用一个函数来定义对象的类,该函数称之为对象的构造函数,我们在需要create对象的时候直接调用这个构造函数即可:var Man = funciton(name){ this.name = name; }; var man = new Man("hopy...

2015-03-20 10:21:36

阅读数 760

评论数 0

javascript中正则表达式和ruby中的一点差异

看到一个例子,不过这个例子中正则表达式的格式貌似是错的:Function.prototype.get_name = function(){ return this.name || this.toString().match(/function\s*(\[^()*](/)[1]; }代码的原...

2015-03-18 23:03:12

阅读数 711

评论数 0

javascript类和原型学习笔记

js中类的所有实例对象都从同一个原型对象上继承属性。我们可以自己写一个对象创建的工厂方法来来“模拟”这种继承行为://inherit()返回一个继承自原型对象p的属性的性对象 //这里使用ECMAScript5中的Object.create()函数 //如果不存在该函数,则使用另一种方法 func...

2015-03-18 18:44:15

阅读数 781

评论数 0

javascript函数式编程一例分析

js像其他动态语言一样是可以写高阶函数的,所谓高阶函数是可以操作函数的函数。因为在js中函数是一个彻彻底底的对象,属于第一类公民,这提供了函数式编程的先决条件。 下面给出一个例子代码,出自一本js教程,功能是计算数组元素的平均值和标准差,先列出非函数式编程的一种写法:var data = [1,...

2015-03-18 15:20:47

阅读数 891

评论数 0

如何使用firefox适用于javascript的debugger命令

首先安装firebug,在firefox的扩展里搜索安装即可。 然后在页面中启用firebug中的脚本:然后在网页某些位置加入debugger命令,比如如下页面代码:<!DOCTYPE html> <html> <head> <meta charset=...

2015-03-14 15:12:10

阅读数 3860

评论数 0

javascript中的eval函数

eval()只有一个参数,如果传入的参数不是字符串,则直接返回这个参数。否则会将字符串当成js代码进行编译,如果编译失败则抛出语法错误(SyntaxError)异常。如果编译成功则开始执行这段代码,并返回字符串中的最后一个表达式或语句的值;如果最后一个表达式或语句没有值,则最终返回undefine...

2015-03-14 10:34:18

阅读数 659

评论数 0

javascript中的instanceof运算符

instanceof运算符希望左操作数是一个对象,右操作数表示对象的类;如果左侧的对象是右侧类的实例,则返回true,否则返回false。由于js中对象的类是通过初始化它们的构造函数来定义的,因此instanceof的右操作数应当是一个函数。比如:var d = new Date(); d ins...

2015-03-14 09:43:08

阅读数 633

评论数 0

javascript中的in运算符

in运算符希望它的左操作数是一个字符串或可以转换为字符串,希望他的又操作数是一个对象;如果右侧对象拥有一个名为左操作数值的属性名,那么表达式返回true:var point = {x:1,y:1}; "x" in point //true "z" in po...

2015-03-14 09:32:12

阅读数 566

评论数 0

提示
确定要删除当前文章?
取消 删除