python给js变量赋值_JS仿Python的from …… import ……方法将序列化对象的元素转换为(全局)变量...

news/2024/7/5 3:54:47

//JS仿Python的from …… import ……方法将序列化对象的元素转换为(全局)变量

//也跟PHP数组中的list()方法功能相似

//没事写的玩,也许没有什么实际应用价值

var $object = {};

$object.from = function(_class) {

//if(_class && typeof (_class == "object")) {

this.class = _class;

return this;

//}

}

$object.import = function() {

for (var i=0; i

if(window[arguments[i]]) delete window[arguments[i]];

//alert(arguments[i]+"=>"+this.class[arguments[i]]);

window[arguments[i]] = this.class[arguments[i]];

}

}

//测试一:序列化对象

var test = {

name : "pandao",

work : "Web Designer",

fn : function(str) {

alert(str);

}

};

//$object.from(test).import("name", "work", "fn");

//alert("name=>"+name+", work=>"+work);

//fn("speech");

//测试二:数组对象

var test2 = [];

test2['name'] = "Tome";

test2['work'] = "Programmer";

test2['fn'] = function(str) {

alert(str);

};

//$object.from(test2).import("name", "work", "fn");

//alert("name=>"+name+", work=>"+work);

//fn("run");

//测试三:JS类对象

function testClass() {

this.name = "testClass";

this.version = "V1.0";

}

//公共静态方法

testClass.getVersion = function() {

alert(this.version);

return this;

};

//公共方法

testClass.prototype = {

add : function() {

alert("testClass.add()");

return this;

},

remove : function() {

alert("testClass.remove()");

return this;

}

//getVersion : function() {

//alert("version=>"+this.version);

//return this;

//}

};

var test3 = new testClass();

$object.from(test3).import("name", "version", "add", "remove", "getVersion");

alert("name=>"+name+", version=>"+version);

add();

remove();

getVersion(); //不这样调用公共静态方法,会出错了,暂时没想到解决方法,求教,错误信息:Uncaught TypeError: Property 'getVersion' of object [object Window] is not a function

后话:

PHP.JS 是一个开源的JavaScript 库,它尝试在JavaScript 中实现PHP 函数,它有实现PHP的list()方法。http://phpjs.org/


http://www.niftyadmin.cn/n/670910.html

相关文章

sql应用总结

1.表和列的别名 给表和列起别名都可以用 tableName bieMing(columnName bieMing)的形式,注意如果bieMing不是关键字不用加 。 还有一种其别名的方式是columnName as bieMing,但是给table起别名时不能使用这种方式。 2.sql分页 分页…

EasyARM i.mx287学习笔记——文件IO方式操作GPIO

0 前言本文描述如果通过文件IO sysfs方式控制EasyARM GPIO端口。通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value…

ps ico插件_常用PS插件合集(1)

小松鼠看到上面蓝色字了么?关注下吧!强大的图像处理软件Photoshop有着海量不错的插件今天就向大家介绍几个常用的吧!一、磨皮滤镜Imagenomic Portraiture这是个强大的磨皮插件可以设置细节平滑,肤色蒙版,调节清晰度、柔…

反囤地风暴愈演愈烈 查处力度偏轻带来负面效果

[作者]肖宾 [来源]京华时报 [选稿]amy 2007-11-09 09:31:19 字体: [大 中 小] 记者 胡雪柏 摄近日来,全国各地风起云涌地掀起了声势浩大的“土地执法百日行动”,各地纷纷公布了今年以来清查结果。整体看来,尽管清查涉及面积…

噎死人的话

1:工资就像大姨妈,一个月一次,一周左右就没了 2:.我平胸我骄傲,我为国家省布料。 3:人生就像打电话,不是你先挂,就是我先挂。 4:长寿秘诀 ---- 保持呼吸,不要…

树莓派学习笔记——使用文件IO操作GPIO SysFs方式

0 前言本文描述如果通过文件IO sysfs方式控制树莓派 GPIO端口。通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等…

python seo cms_巧用帝国CMS系统变量提升网站用户体验 完善SEO优化

使用帝国CMS的小伙伴们可能都会在帝国CMS手册里面看到一些自带的系统变量,举个例子,也是最近刚开始使用的一个系统变量即:$GLOBALS[navclassid]这个变量意思是当前栏目id,$GLOBALS[navclassid]--这个变量怎么使用?或者…

考察环境和配套设施 四招教你挑选二手房

http://house.online.sh.cn 2007-11-08 09:05:43 [来源]:21CN 【 浏览字号:大 中 小】 住房成为商品,“二手房”交易将成为整个房地产交易市场中最活跃的部分。目前,国家已开始加大促进二手房交易的力度,因此&#x…