文章关键字 ‘JScript’

JavaScript 类型的包装对象(Typed Wrappers)

2011年06月6日,星期一

JavaScript 有一套类型的包装对象。例如:

new Boolean(false)

(更多…)

不用循环计算1到100的和

2011年05月6日,星期五

这篇日志完全是看了一篇日志后的启发,原文为:邪恶的eval和new Function

(更多…)

邪恶的eval和new Function

2011年05月5日,星期四

代码:

// 友善提醒:为了你的手指安全,请在Chrome下运行
'alert("hello")'.replace(/.+/, eval);
'alert("hello")'.replace(/.+/, function(m){new Function(m)();});

var i = 0; eval(new Array(101).join('alert(++i);'));
var i = 0; new Function(new Array(101).join('alert(++i);'))();

(更多…)

JavaScript Unicode UTF-8

2011年04月26日,星期二

JavaScript 字符串使用的是 Unicode 编码,实现方式是 UTF-16 ,每个字符占用两个字节,至于是 Big-Endian 还是 Little-Endian ,似乎应该和具体实现有关,不过这并不重要。JavaScript无法直接操作单个字节,所以只能用双字节的 UTF-16 来模拟 UTF-8 ,在内存中的字节并不是真正意义的 UTF-8 。

(更多…)

JavaScript函数参数,传值还是传址?

2011年04月23日,星期六

首先,十万以及万分肯定的说一句, JavaScript 函数传递参数时,是值传递。虽然您可能不信,因为 ECMAScript 变量可能包含两种不同数据类型的值:基本数据类型,和引用数据类型。难道引用数据类型传递的时候难道也是值传递吗?答,没错。

(更多…)