字符串中的JSON转换成JAVASCRIPT的OBJECT
// 下面代码块实现了string.parseJSON方法
(function(s){
// This prototype has been released into the Public Domain, 2007-03-20
// Original Authorship: Douglas Crockford
// Originating Website: http://www.JSON.org
// Originating URL : http://www.JSON.org/JSON.js
// 增强String原型.我们利用这个即时执行的匿名函数避免使用全局变量.
// m是转义字符表
var m ={
'\b':'\\b',
'\t':'\\t',
'\n':'\\n',
'\f':'\\f',
'\r':'\\r',
'"':'\\"',
'\\':'\\\\'
};
s.parseJSON =function(filter){
// 解析分三步进行,第一步,我们先用正则表达式过滤非JSON字符.我们会特别关注"()"与"new",因为它们
// 会触发调用,还有"=",它会导致赋值从而发生变化.为了安全,我们会丢弃所有不期待的字符.
try{
if(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u
\n\r\t])+?$/.
test(this)) {
// 在第二步,我们使用eval函数把文本编译到一个JavaScript结构中去.在javascript中"{"操作符容易导致语法混淆:它可以是一个代码块的开始或者一个对象直接量.我们在外层包装上括号避免混淆.
var j = eval('(' + this + ')');
// 第三步是可选的,我们递归遍历这个新结构,把每个名/值对传递到一个过滤函数,以便做一些转换.
if (typeof filter === 'function') {
function walk(k, v) {
if (v && typeof v === 'object') {
&nbs
相关文档:
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetL ......
JavaScript Table排序
序二(09/05/03)
近来还是那么忙,趁五一更新一下程序吧。
这个版本主要增加和改进了以下东西:
1,对字符串改用localeCompare来比较;
2,一次排序中能使用多个排序对象(用于值相等时再排序);
3,修正一些发现的问题;
4,改进程序结构,个人觉得是更灵活更方便了;
5,增加bool类型比 ......
JavaScript中的原型(prototyping) prototype属性
1.对内置对象的扩展
(String添加trim()方法)
****************
String.prototype.trim = funct ......
什么是Firebug
从事了数年的Web开发工作,越来越觉得现在对WEB开发有了更高的要求。要写出漂亮的HTML代码;要编写精致的CSS样式表展示每个页面模块;要调试javascript给页面增加一些更活泼的要素;要使用Ajax给用户带来更好的体验。一个优秀的WEB开发人员需要顾及更多层面,才能交出一份同样优秀的作业。为帮助广大正处于W ......
利用Javascript向页面中插入TABLE,IE下无法正常显示
关键字: table, appendchild, ie, firefox
在项目中偶然遇到一个怪异的问题,我要利用javascript动态的向一个DIV中插入一些个TABLE,Firefox可以正常显示,而在IE下,无论版本是6或7,均无法看到这个TABLE。但是,如果我直接把TABLE的HTML代码写在页面上,一切都能正 ......